feat: add test shurken

This commit is contained in:
Chris
2026-01-10 21:03:49 -05:00
parent 49862b5de1
commit cfc0096902
40 changed files with 1262 additions and 221 deletions

View File

@@ -1,30 +1,45 @@
using System;
using Drawing;
using NodeCanvas.StateMachines;
using Reset.Core;
using Reset.Units;
using UnityEngine;
namespace Reset.Items{
[CreateAssetMenu(menuName = "Reset/Weapon", fileName = "New Weapon")]
public class Weapon : Item, IEquipable{
public CombatType combatType;
public GameObject weaponModel;
public NodeCanvas.Framework.Graph weaponFSM;
public Vector3 handPositionOffset;
public Vector3 handRotationOffset;
void Awake(){
}
public string actorScriptName;
public void AddActorScript(){
// Type actorScript = Type.GetType("ShurikenActor");
//
// if (actorScript == null) {
// Debug.LogError($"The WeaponActor supplied was not found for {itemName}. Does script named '{actorScriptName + ",Assembly-UnityScript"}' exist?");
// return;
// }
WeaponActor weaponActor = PlayerManager.Player.AddComponent<ShurikenActor>() as WeaponActor;
weaponActor.relatedObject = PlayerManager.Player.GetComponent<PlayerInventory>().GetCurrentWeaponItem();
weaponActor.relatedWeapon = this;
}
public override void DrawItemInfo(Vector3 position){
Debug.Log("hiuh");
Draw.ingame.Label2D(position + Vector3.up * 1.6f, "Damage goes here");
Draw.ingame.Label2D(position + Vector3.up * 1.35f, "Speed goes here");
}
public GameObject PlaceInHand(){
return GameObject.Instantiate(weaponModel);
}
}
}

View File

@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace Reset.Items{
public abstract class WeaponActor : MonoBehaviour{
public Dictionary<string, Action> weaponEvents = new Dictionary<string, Action>();
public Weapon relatedWeapon;
public GameObject relatedObject;
public void RegisterWeaponEvent(string calledName, Action action){
weaponEvents.Add(calledName, action);
}
public void DoWeaponEvent(string eventName){
if (weaponEvents.ContainsKey(eventName)) {
weaponEvents[eventName].Invoke();
return;
}
Debug.LogError($"There is no event by name of {eventName} in {name}");
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7db5375a3b8f4212b407f4f8f41a8870
timeCreated: 1768000398

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 70ef6ecafdc149559e4cb6e19787e719
timeCreated: 1768000824

View File

@@ -0,0 +1,17 @@

using UnityEngine;
namespace Reset.Items{
public class ShurikenActor : WeaponActor{
public GameObject bladeRing;
void Start(){
Debug.Log(GetType());
bladeRing = relatedObject.transform.GetChild(0).gameObject;
}
void Update(){
bladeRing.transform.Rotate(Vector3.up * (180f * Time.deltaTime));
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7d1d2a1a617247459542ec29b4f50785
timeCreated: 1768002409