Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
 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];
 }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
    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;
    }
Ejemplo n.º 5
0
 public GroupProp GetBaseProps(ActorParts.MuscleGroup muscleGroup)
 {
     return(baseProps[muscleGroup.GroupIndex]);
 }
Ejemplo n.º 6
0
 public StateController.PropsBase GetGroupProp(ActorParts.MuscleGroup mg)
 {
     return(groupProp.ContainsKey(mg.GroupIndex) ? groupProp[mg.GroupIndex] : null);
 }
Ejemplo n.º 7
0
 public MuscleBasePropsGroup(string name, ActorParts.MuscleGroup mg, MuscleProps mp)
 {
     this.name  = name; this.muscleGroup = mg;
     this.props = mp;
 }