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; }
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); }
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); }
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); }
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); }
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); }
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; }
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); }
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); } } }
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) { }