예제 #1
0
    public override void Attached()
    {
        CoopAnimal componentInChildren = base.GetComponentInChildren <CoopAnimal>();

        if (!componentInChildren)
        {
            return;
        }
        if (componentInChildren._animator)
        {
            componentInChildren._animator.applyRootMotion = false;
        }
        if (componentInChildren.rotationTransform)
        {
            base.state.TransformPosition.SetTransforms(base.transform);
            base.state.TransformRotation.SetTransforms(componentInChildren.rotationTransform);
        }
        else
        {
            base.state.TransformFull.SetTransforms(base.transform);
        }
        CoopComponentDisabler exists = base.GetComponent <CoopComponentDisabler>();

        if (!exists)
        {
            exists = base.gameObject.AddComponent <CoopComponentDisabler>();
        }
    }
예제 #2
0
    private CoopComponentDisabler InitCCD(BoltEntity entity)
    {
        CoopComponentDisabler coopComponentDisabler = entity.GetComponent <CoopComponentDisabler>();

        if (!coopComponentDisabler)
        {
            coopComponentDisabler = entity.gameObject.AddComponent <CoopComponentDisabler>();
        }
        return(coopComponentDisabler);
    }
예제 #3
0
 public override void EntityThawed(BoltEntity entity)
 {
     if (entity.StateIs <IMutantState>() || entity.StateIs <IAnimalState>())
     {
         if (entity.StateIs <IMutantFemaleDummyState>())
         {
             return;
         }
         if (entity.StateIs <IMutantMaleDummyState>())
         {
             return;
         }
         if (!entity.transform.GetComponent <CoopMutantDummy>())
         {
             CoopComponentDisabler coopComponentDisabler = this.InitCCD(entity);
             coopComponentDisabler.EnableComponents();
         }
     }
 }