public RuntimeWeapon WeaponToRuntimeWeapon(Weapon w, bool isLeft = false) { GameObject go = new GameObject(); RuntimeWeapon inst = go.AddComponent <RuntimeWeapon> (); inst.instance = new Weapon(); StaticFunction.DeepCopyWeapon(w, inst.instance); inst.weaponModel = Instantiate(inst.instance.modelPrefab) as GameObject; Transform p = states.anim.GetBoneTransform((isLeft) ? HumanBodyBones.LeftHand : HumanBodyBones.RightHand); inst.weaponModel.transform.parent = p; if (isLeft) { inst.weaponModel.transform.localPosition = inst.instance.l_model_pos; inst.weaponModel.transform.localEulerAngles = inst.instance.l_model_eulers; } else { inst.weaponModel.transform.localPosition = inst.instance.r_model_pos; inst.weaponModel.transform.localEulerAngles = inst.instance.r_model_eulers; } inst.weaponModel.transform.localScale = inst.instance.model_scale; inst.w_hook = inst.weaponModel.GetComponentInChildren <WeaponHook> (); inst.w_hook.InitDamageColliders(states); return(inst); }
void EmptyAllSlots() { for (int i = 0; i < 4; i++) { Action a = StaticFunction.GetAction((ActionInput)i, actionSlots); a.targetAnim = null; a.mirror = false; a.type = ActionType.attack; } }
public void UpdateActionsTwoHanded() { EmptyAllSlots(); Weapon w = states.inventoryManager.rightHandWeapon.instance; for (int i = 0; i < w.twoHandedActions.Count; i++) { Action a = StaticFunction.GetAction(w.twoHandedActions [i].input, actionSlots); a.targetAnim = w.twoHandedActions [i].targetAnim; a.type = w.twoHandedActions [i].type; } }
public void UpdateActionsOneHanded() { EmptyAllSlots(); StaticFunction.DeepCopyAction(states.inventoryManager.rightHandWeapon.instance, ActionInput.rb, ActionInput.rb, actionSlots); StaticFunction.DeepCopyAction(states.inventoryManager.rightHandWeapon.instance, ActionInput.rt, ActionInput.rt, actionSlots); if (states.inventoryManager.hasLeftHandWeapon) { StaticFunction.DeepCopyAction(states.inventoryManager.leftHandWeapon.instance, ActionInput.rb, ActionInput.lb, actionSlots, true); StaticFunction.DeepCopyAction(states.inventoryManager.leftHandWeapon.instance, ActionInput.rt, ActionInput.lt, actionSlots, true); } else { StaticFunction.DeepCopyAction(states.inventoryManager.rightHandWeapon.instance, ActionInput.lb, ActionInput.lb, actionSlots); StaticFunction.DeepCopyAction(states.inventoryManager.rightHandWeapon.instance, ActionInput.lt, ActionInput.lt, actionSlots); } }
public Action GetActionSlot(StateManager st) { ActionInput a_input = GetActionInput(st); return(StaticFunction.GetAction(a_input, actionSlots)); }