Exemple #1
0
    public CharacterObject AddCharacterObject(GameDefine.Camp camp, Vector2 position)
    {
        CharacterObject characterObject = CreateCharacterObject(camp, position);

        AddObstructer(characterObject);
        return(characterObject);
    }
 protected void Init <T>(GameDefine.PropStar starType, GameDefine.Camp camp, Action <GameDefine.PropStar> callback) where T : BombStarData
 {
     m_PropStar     = starType;
     m_Data         = GameDefine.PropStarData[starType] as T;
     m_Camp         = camp;
     m_BombCallback = callback;
 }
Exemple #3
0
 public CharacterObject(Transform transform, GameDefine.Camp camp) : base(transform)
 {
     m_Camp   = camp;
     m_HpData = new HpData(GameDefine.CharacterObjectMaxHp, GameDefine.CharacterObjectMaxHp, camp);
     m_UIHp   = App.manager.uiMgr.CreateUI <UIHpViewController>(UIRegister.UIHp, transform, new Vector3(0, 36, 0));
     m_UIHp.SetData(m_HpData);
 }
Exemple #4
0
 public static void SendStarBoomEvent(Transform starTransform, GameDefine.Camp camp, float round, float value)
 {
     if (StarBoomEvent != null)
     {
         StarBoomEvent(starTransform, camp, round, value);
     }
 }
    public override void Play(GameDefine.Camp camp, Action <GameDefine.PropStar> callback)
    {
        Init <BombStarData>(GameDefine.PropStar.SquareBomb, camp, callback);

        UpdateColor();

        App.manager.timeMgr.CreatTimer(m_Data.m_Time, m_Data.m_Time, null, Boom, null);
    }
Exemple #6
0
    public void ChangeHurt(GameDefine.Camp camp, float value)
    {
        int targetIndex = -1;

        for (int index = 0; index < m_CurHurtCount; index++)
        {
            if (m_HurtCamps[index] == camp)
            {
                targetIndex = index;
                break;
            }
        }

        if (targetIndex == -1)
        {
            m_CurHurtCount          += 1;
            targetIndex             += 1;
            m_HurtCamps[targetIndex] = camp;
            m_HurtDict[targetIndex]  = new HpData(m_MaxHp, value, camp);
        }
        else
        {
            m_HurtDict[targetIndex].ChangeCurHp(value);
        }

        int   minIndex = -1;
        float minValue = m_MaxHp;

        for (int index = 0; index < m_CurHurtCount; index++)
        {
            if (index != targetIndex)
            {
                if (minValue > m_HurtDict[index].m_CurHp)
                {
                    minValue = m_HurtDict[index].m_CurHp;
                    minIndex = index;
                }
            }
        }

        float changeCurHp = 0;

        if (minIndex != -1)
        {
            if (m_HurtDict[minIndex].m_CurHp < value)
            {
                changeCurHp = value - m_HurtDict[minIndex].m_CurHp;
            }
            m_HurtDict[minIndex].ChangeCurHp(-value);
        }

        if (m_CurHurtCount == 1)
        {
            changeCurHp = -value;
        }

        ChangeCurHp(changeCurHp);
    }
Exemple #7
0
    public CharacterObject AddPlayer(GameDefine.Camp camp, Vector2 position)
    {
        CharacterObject characterObject = CreateCharacterObject(camp, position);
        MoveController  moveController  = new MoveController(characterObject);

        characterObject.SetMoveController(moveController);
        m_Player = characterObject;

        return(characterObject);
    }
Exemple #8
0
    private CharacterObject CreateCharacterObject(GameDefine.Camp camp, Vector2 position)
    {
        GameObject player = App.manager.resourceMgr.Instance(ResourceManager.Type.CharacterObject, "Player");

        player.transform.SetParent(GameDefine.characterRoot);
        player.transform.localPosition = position;
        player.transform.localScale    = Vector3.one;
        CharacterObject CharacterObject = new CharacterObject(player.transform, camp);

        return(CharacterObject);
    }
Exemple #9
0
    public HpData(float maxHp, float curHp, GameDefine.Camp camp)
    {
        m_MaxHp = maxHp;
        m_CurHp = curHp;
        m_Camp  = camp;
        int hurtCount = Enum.GetNames(typeof(GameDefine.Camp)).Length;

        m_HurtDict     = new HpData[hurtCount];
        m_HurtCamps    = new GameDefine.Camp[hurtCount];
        m_CurHurtCount = 0;
    }
Exemple #10
0
 public void SmearColor(GameDefine.Camp camp, float value)
 {
     if (camp == m_Camp)
     {
         m_HpData.ChangeCurHp(value);
     }
     else
     {
         m_HpData.ChangeHurt(camp, value);
     }
     m_UIHp.SetData(m_HpData);
 }
Exemple #11
0
    public void StarBomb(Transform starTransform, GameDefine.Camp camp, float round, float value)
    {
        CharacterObject curCharacterObject;

        for (int index = 0; index < m_AllCharacterObject.Count; index++)
        {
            curCharacterObject = m_AllCharacterObject[index];
            Vector3 distance = curCharacterObject.transform.position - starTransform.position;
            if (distance.x <= round || distance.z <= round)
            {
                curCharacterObject.SmearColor(camp, value);
            }
        }
    }
Exemple #12
0
    public SquarBoomStarController AddSquarBoom(Transform target, GameDefine.Camp camp, Action <GameDefine.PropStar> callback)
    {
        GameObject squarBoom = App.manager.resourceMgr.Instance(ResourceManager.Type.CharacterObject, "SuqareBoom");

        squarBoom.transform.SetParent(GameDefine.starRoot);
        squarBoom.transform.localScale = Vector3.one;
        squarBoom.transform.position   = target.position;
        SquarBoomStarController controller = new SquarBoomStarController(squarBoom.transform);

        controller.Play(camp, callback);

        AddObstructer(controller);

        return(controller);
    }
 public virtual void Play(GameDefine.Camp camp, Action <GameDefine.PropStar> callback)
 {
 }