示例#1
0
    public void Dispose()
    {
        EnemyGO.transform.Find("Enemy_Back").gameObject.SetActive(true);

        EnemyGO.GetComponentsInChildren <Muscle>().ToList().ForEach(x => x.gameObject.SetActive(true));
        GC.SuppressFinalize(this);
    }
 /// <summary>
 /// Se obtienen todas las instancias del juego
 /// </summary>
 private void GetInstances()
 {
     memoramaManager = MemoramaManager.Instance;
     fightScript     = FightScript.Instance;
     renewBoard      = RenewBoard.Instance;
     player          = PlayerGO.Instance;
     enemy           = EnemyGO.Instance;
     SetHealthAndDamage();
     renewBoard.GetBoardChildren();
     fightButton.onClick.AddListener(fightScript.ApplyDammage);
     renewButton.onClick.AddListener(renewBoard.CheckIfBoardCanBeRenewed);
 }
示例#3
0
 private void Awake()
 {
     if (instance == null)
     {
         enemyInstance = Enemy.Instance;
         instance      = this;
     }
     else
     {
         Destroy(this);
     }
 }
示例#4
0
    private void SetLevelDoubledMuscles <T>() where T : Muscle
    {
        var doubledMuscles = EnemyGO.GetComponentsInChildren <T>();
        int muscleLevel    = 0;

        for (int i = 0; i < doubledMuscles.Length; i++)
        {
            if ((i + 1) % 2 == 0)
            {
                doubledMuscles[i].Properties.MuscleLevel = doubledMuscles[i - 1].Properties.MuscleLevel;
            }
            else
            {
                doubledMuscles[i].Properties.MuscleLevel = ++muscleLevel;
            }
        }
    }
示例#5
0
    private void SetMuscles()
    {
        var muscles = EnemyGO.GetComponentsInChildren <Muscle>();

        for (int i = 0; i < muscles.Length; i++)
        {
            switch (muscles[i].Properties.TypeMuscle)
            {
            case Muscle.MuscleTypes.Ass:
                muscles[i].Properties.MuscleLevel = GetMuscleLevel <AssMuscle>(EnemyGO) + 1;
                break;

            case Muscle.MuscleTypes.Chest:
                muscles[i].Properties.MuscleLevel = GetMuscleLevel <ChestMuscle>(EnemyGO) + 1;
                break;

            case Muscle.MuscleTypes.LegsFront:
                muscles[i].Properties.MuscleLevel = GetMuscleLevel <LegsMuscle>(EnemyGO) + 1;
                break;

            case Muscle.MuscleTypes.LegsBack:
                if (EnemyGO.GetComponentsInChildren <BackLegsMuscle>().Max(x => x.Properties.MuscleLevel) == 0)
                {
                    SetLevelDoubledMuscles <BackLegsMuscle>();
                }
                break;

            case Muscle.MuscleTypes.HandsFront:
                if (EnemyGO.GetComponentsInChildren <HandsMuscles>().Max(x => x.Properties.MuscleLevel) == 0)
                {
                    SetLevelDoubledMuscles <HandsMuscles>();
                }
                break;

            case Muscle.MuscleTypes.HandsBack:
                if (EnemyGO.GetComponentsInChildren <BackHandsMuscle>().Max(x => x.Properties.MuscleLevel) == 0)
                {
                    SetLevelDoubledMuscles <BackHandsMuscle>();
                }
                break;

            case Muscle.MuscleTypes.Press:
                muscles[i].Properties.MuscleLevel = GetMuscleLevel <PressMuscle>(EnemyGO) + 1;
                break;

            case Muscle.MuscleTypes.Back:
                muscles[i].Properties.MuscleLevel = GetMuscleLevel <BackMuscle>(EnemyGO) + 1;
                break;
            }
        }

        for (int i = 0; i < muscles.Length; i++)
        {
            ActivateMuscle(muscles[i]);
            if (muscles[i].gameObject.activeSelf)
            {
                Muscles.Add(muscles[i]);
            }
        }

        EnemyGO.transform.Find("Enemy_Back").gameObject.SetActive(false);
    }