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 void Init(ActorManager am) { this.am = am; foreach (var behaivour in am.puppet.behaviours) { if (behaivour is ConsciousBehaviour) { consciousBeha = behaivour as ConsciousBehaviour; } else if (behaivour is UnConsciousBehaviour) { unConsciousBeha = behaivour as UnConsciousBehaviour; } } //behaviourFall.OnPreActivate += am.actorController.Fall; BehaPuppet.onRegainBalance.unityEvent.AddListener(am.actorController.OnRegainBalance); BehaPuppet.onLoseBalance.unityEvent.AddListener(am.actorController.Fall); BehaPuppet.onGetUpProne.unityEvent.AddListener(am.actorController.GetUp); BehaPuppet.onGetUpSupine.unityEvent.AddListener(am.actorController.GetUp); // 初始化 muscleGroup updateEntry = UpdateDelegate; ActorParts.MuscleGroup[] muscleGroup = am.actorParts.MuscleGroups; baseProps = new GroupProp[muscleGroup.Length]; for (int i = 0; i < muscleGroup.Length; i++) { baseProps[i] = new GroupProp(muscleGroup[i], updateEntry); } BehaPuppet.InitMuscleGroup(baseProps); InitProps(); }
public VisibleProp(GroupProp g, float power, float toughness, float accuracy, float agility, float tolerance) : base(g, power, toughness, accuracy, agility, tolerance) { }
public MuscleGroupProp(GroupProp g, float power, float toughness, float accuracy, float agility, float tolerance) : base(power, toughness, accuracy, agility, tolerance) { groupProp = g; }