public void Init(ActorParts actorParts, ActorParts.MuscleGroup muscleGroup) { this.actorParts = actorParts; attachedMuscleGroup = muscleGroup; // If currentProp has been assigned, it will be picked up AS IS, presuming it is already linked with the joints and held in the right position. // To pick up the prop from ground, assign it after Awake, for example in Start. if (currentProp != null) { currentProp.StartPickedUp(this); } muscles = new Muscle[] { actorParts.puppet.muscles[15], actorParts.puppet.muscles[16] }; System.Array.Resize(ref actorParts.puppet.muscles, actorParts.puppet.muscles.Length - 2); defaultLocalPos = muscles[0].target.localPosition; defaultLocalEular = muscles[0].target.localEulerAngles; bladeDetector = muscles[1].transform.gameObject.AddComponent <BladeDetector>(); bladeDetector.enabled = false; bladeDetector.init(this); foreach (var m in muscles) { m.transform.gameObject.SetActive(false); } // 事件绑定 MessageManager.AddListener("OnStabIn", OnStabIn, transform); }
public HandBehaviours(ActorBehavioursBase <ACType, ABB> abb, PropHandler ph) { propHandler = ph; this.abb = (ABB)abb; this.ac = abb.ac; muscleGroup = ph.attachedMuscleGroup; handMuscle = muscleGroup.muscles[muscleGroup.muscles.Length - 1]; }
public GroupProp(ActorParts.MuscleGroup muscleGroup, UpdateEntry v) { curProp = new PropsBase(0, 0, 0, 0, 0); buffProp = new VisibleProp(this, 0, 0, 0, 0, 0); equipProp = new VisibleProp(this, 0, 0, 0, 0, 0); //print(muscleBasePropsGroup.props.knockOutDistance); stateProp = new UnVisibleProp(this, 1, 1, 1, 1, 0.1f); this.muscleGroup = muscleGroup; Muscle m = muscleGroup.muscles[0]; name = muscleGroup.groupName; this.updateEntry = v; }
public void AddExtraProps(ActorParts.MuscleGroup muscleGroup) { GroupProp g = new GroupProp(muscleGroup, updateEntry); if (extraProps == null) { extraProps = new GroupProp[1] { g }; return; } System.Array.Resize(ref extraProps, extraProps.Length + 1); extraProps[extraProps.Length - 1] = g; }
public GroupProp GetBaseProps(ActorParts.MuscleGroup muscleGroup) { return(baseProps[muscleGroup.GroupIndex]); }
public StateController.PropsBase GetGroupProp(ActorParts.MuscleGroup mg) { return(groupProp.ContainsKey(mg.GroupIndex) ? groupProp[mg.GroupIndex] : null); }
public MuscleBasePropsGroup(string name, ActorParts.MuscleGroup mg, MuscleProps mp) { this.name = name; this.muscleGroup = mg; this.props = mp; }