public void updateAnimation() { if (gameAnimation != null) { gameAnimation.clearAnimation(); Destroy(gameAnimation); gameAnimation = null; } GameUnit gameUnit = GameUnitData.instance.getData(userID); string path = "Prefab/Sprite/man" + GameDefine.getString3(gameUnit.Sprite) + "/"; path += (GameDefine.getString3(gameUnit.Sprite) + "man"); GameObject obj = Instantiate <GameObject>(Resources.Load <GameObject>(path)); gameAnimation = obj.GetComponent <GameAnimation>(); gameAnimation.UI = true; gameAnimation.playAnimationBattle(GameAnimationType.Stand, GameAnimationDirection.South, null); gameAnimation.transform.SetParent(unitUIStage.transform); gameAnimation.transform.localScale = Vector3.one; gameAnimation.transform.localPosition = new Vector3(-165.0f, 150.0f, 0.0f); }
void onStartMoveOver() { string path = ""; int offsetX = 0; int offsetY = 0; switch (skill.BattleType) { case GameSkillBattleType.Normal: { path = "Prefab/Magic/magic" + GameDefine.getString3(skill.AnimationID) + "/"; path += "M"; path += skill.AnimationID; } break; case GameSkillBattleType.UI: { return; } case GameSkillBattleType.Map: { if (skill.AnimationID > 0 && skill.BattleSprite == 0) { path = "Prefab/Magic/magic" + GameDefine.getString3(skill.AnimationID) + "/"; path += "M"; path += skill.AnimationID; } else { unit.stopAnimation(); unit.clearAnimation(); path = "Prefab/Sprite/man" + GameDefine.getString3(unit.Sprite) + "/" + GameDefine.getString3(unit.Sprite); path += (skill.BattleSprite > 0 ? "-" + skill.BattleSprite : ""); path += "s"; // offsetX = GameDefine.TEXTURE_WIDTH_HALF - 5; // offsetY = GameDefine.TEXTURE_HEIGHT_HALF; } } break; case GameSkillBattleType.UIMap: { path = "Prefab/Sprite/man" + GameDefine.getString3(unit.Sprite) + "/" + GameDefine.getString3(unit.Sprite); path += (skill.BattleSprite > 0 ? "-" + skill.BattleSprite : ""); path += "sm"; } break; } clear(); GameObject obj1 = Resources.Load <GameObject>(path); if (obj1 == null) { onAttackOver(); return; } GameObject obj = Instantiate <GameObject>(obj1); GameAnimation attackerAnimation = obj.GetComponent <GameAnimation>(); attackerAnimation.offsetX = offsetX; attackerAnimation.offsetY = offsetY; Transform trans = obj.transform; trans.SetParent(transform); trans.localScale = Vector3.one; trans.localPosition = Vector3.zero; GameBattleSceneMovement.instance.updatePositionToCamera(); transform.localPosition = new Vector3(GameBattleSceneMovement.instance.PosXReal, GameBattleSceneMovement.instance.PosYReal + GameBattleManager.instance.LayerHeight, transform.localPosition.z); attackerAnimation.transform.localScale = new Vector3(GameCameraManager.instance.sceneWidth / GameDefine.SCENE_WIDTH, 1.0f, 1.0f); if (direction != GameBattleAttackMapDirection.Count) { int c = attackerAnimation.safHead.count3[0]; int f = c * (int)direction; attackerAnimation.playAnimation(f, f + c, false, onAttackOver); } else { attackerAnimation.playAnimation(0, GameDefine.INVALID_ID, false, onAttackOver); } }
public void showSkillMap(byte f, GameSkill m, GameBattleUnit lt, GameBattleUnit rt, GameBattleAttackMapDirection dir, GameBattleAttackResultSide s, List <GameBattleAttackResultSkill> r, OnEventOver over) { if (m.BattleType == GameSkillBattleType.Normal || m.BattleType == GameSkillBattleType.Map) { return; } clear(); skill = m; direction = dir; onEventOver = over; resultSkill = r; result = null; side = s; isShow = true; mapAttack = true; overUnShow = true; showAdd = false; GameUserData.instance.LastSkillID = skill.ID; gameObject.SetActive(true); leftUnit = lt; rightUnit = rt; string path = "Prefab/Stage/Stage" + GameDefine.getString2(GameUserData.instance.Stage) + "/FLOOR_"; path += GameDefine.getString2(GameUserData.instance.Stage); GameObject gameObjectFloor = Instantiate <GameObject>(Resources.Load <GameObject>(path)); floorAnimation = gameObjectFloor.GetComponent <GameAnimation>(); floorAnimation.UI = true; floorAnimation.showFrame(f); floorAnimation.transform.SetParent(floorTrans); floorAnimation.transform.localScale = Vector3.one; floorAnimation.transform.localPosition = Vector3.zero; if (side == GameBattleAttackResultSide.Left) { path = "Prefab/Sprite/man" + GameDefine.getString3(lt.Sprite) + "/"; path += (GameDefine.getString3(lt.Sprite) + "MISC"); GameObject obj = Instantiate <GameObject>(Resources.Load <GameObject>(path)); leftAnimation = obj.GetComponent <GameAnimation>(); leftAnimation.UI = true; leftAnimation.showFrame(6 + (leftAnimation.safHead.count3[0] == 0 ? 1 : leftAnimation.safHead.count3[0])); Transform trans = obj.transform; trans.SetParent(left.transform); trans.localScale = Vector3.one; trans.localPosition = Vector3.zero; leftInfoUI.gameObject.SetActive(true); leftInfoUI.setValue(lt.HP, lt.HPMax, lt.Name); rightInfoUI.gameObject.SetActive(false); path = "Prefab/Sprite/man" + GameDefine.getString3(lt.Sprite) + "/" + GameDefine.getString3(lt.Sprite); path += (m.BattleSprite > 0 ? "-" + m.BattleSprite : ""); path += "s"; obj = Instantiate <GameObject>(Resources.Load <GameObject>(path)); attackerAnimation = obj.GetComponent <GameAnimation>(); attackerAnimation.UI = true; attackerAnimation.onAnimationEvent = onAnimationEvent; trans = obj.transform; trans.SetParent(left.transform); trans.localScale = Vector3.one; trans.localPosition = Vector3.zero; defencerAnimation = null; } else { path = "Prefab/Sprite/man" + GameDefine.getString3(rt.Sprite) + "/"; path += (GameDefine.getString3(rt.Sprite) + "MISC"); GameObject obj = Instantiate <GameObject>(Resources.Load <GameObject>(path)); rightAnimation = obj.GetComponent <GameAnimation>(); rightAnimation.UI = true; rightAnimation.showFrame(6 + (rightAnimation.safHead.count3[0] == 0 ? 1 : rightAnimation.safHead.count3[0])); Transform trans = obj.transform; trans.SetParent(right.transform); trans.localScale = Vector3.one; trans.localPosition = Vector3.zero; rightInfoUI.gameObject.SetActive(true); rightInfoUI.setValue(rt.HP, rt.HPMax, rt.Name); leftInfoUI.gameObject.SetActive(false); path = "Prefab/Sprite/man" + GameDefine.getString3(rt.Sprite) + "/" + GameDefine.getString3(rt.Sprite); path += (m.BattleSprite > 0 ? "-" + m.BattleSprite : ""); path += "s"; obj = Instantiate <GameObject>(Resources.Load <GameObject>(path)); attackerAnimation = obj.GetComponent <GameAnimation>(); attackerAnimation.UI = true; attackerAnimation.onAnimationEvent = onAnimationEvent; trans = obj.transform; trans.SetParent(right.transform); trans.localScale = Vector3.one; trans.localPosition = Vector3.zero; defencerAnimation = null; } scale = 2.0f; alpha = 0.1f; time = 0.0f; alphaAdd = true; startFade = true; updateStage(); }
public void show(byte f, GameBattleUnit lt, GameBattleUnit rt, GameBattleAttackResultSide s, GameBattleAttackResultPhysical rs, bool o, OnEventOver over) { clear(); skill = null; onEventOver = over; result = rs; resultSkill = null; side = s; isShow = true; overUnShow = false; showAdd = false; mapAttack = false; gameObject.SetActive(true); leftUnit = lt; rightUnit = rt; string path = "Prefab/Stage/Stage" + GameDefine.getString2(GameUserData.instance.Stage) + "/FLOOR_"; path += GameDefine.getString2(GameUserData.instance.Stage); GameObject gameObjectFloor = Instantiate <GameObject>(Resources.Load <GameObject>(path)); floorAnimation = gameObjectFloor.GetComponent <GameAnimation>(); floorAnimation.UI = true; floorAnimation.showFrame(f); floorAnimation.transform.SetParent(floorTrans); floorAnimation.transform.localScale = Vector3.one; floorAnimation.transform.localPosition = Vector3.zero; // string ab = result.type == GameBattleAttackResultType.Block ? "ab" : "a"; path = "Prefab/Sprite/man" + GameDefine.getString3(rt.Sprite) + "/"; path += (GameDefine.getString3(rt.Sprite) + "MISC"); GameObject obj = Instantiate <GameObject>(Resources.Load <GameObject>(path)); rightAnimation = obj.GetComponent <GameAnimation>(); rightAnimation.UI = true; rightAnimation.showFrame(6 + (rightAnimation.safHead.count3[0] == 0 ? 1 : rightAnimation.safHead.count3[0])); Transform trans = obj.transform; trans.SetParent(right.transform); trans.localScale = Vector3.one; trans.localPosition = Vector3.zero; rightInfoUI.gameObject.SetActive(true); rightInfoUI.setValue(rt.HP, rt.HPMax, rt.Name); path = "Prefab/Sprite/man" + GameDefine.getString3(lt.Sprite) + "/"; path += (GameDefine.getString3(lt.Sprite) + "MISC"); obj = Instantiate <GameObject>(Resources.Load <GameObject>(path)); leftAnimation = obj.GetComponent <GameAnimation>(); leftAnimation.UI = true; leftAnimation.showFrame(6 + (leftAnimation.safHead.count3[0] == 0 ? 1 : leftAnimation.safHead.count3[0])); trans = obj.transform; trans.SetParent(left.transform); trans.localScale = Vector3.one; trans.localPosition = Vector3.zero; leftInfoUI.gameObject.SetActive(true); leftInfoUI.setValue(lt.HP, lt.HPMax, lt.Name); if (side == GameBattleAttackResultSide.Left) { path = "Prefab/Sprite/man" + GameDefine.getString3(lt.Sprite) + "/" + GameDefine.getString3(lt.Sprite); path += (result.type == GameBattleAttackResultPhysical.Type.Block ? "ab" : "a"); GameObject object1 = Resources.Load <GameObject>(path); if (object1 == null) { onShowOver(); return; } obj = Instantiate <GameObject>(object1); attackerAnimation = obj.GetComponent <GameAnimation>(); attackerAnimation.UI = true; attackerAnimation.onAnimationEvent = onAnimationEvent; trans = obj.transform; trans.SetParent(left.transform); trans.localScale = Vector3.one; trans.localPosition = Vector3.zero; defencerAnimation = rightAnimation; RectTransform trans1 = left.GetComponent <RectTransform>(); trans1.SetSiblingIndex(3); rangedAttack = (lt.AttackType == GameUnitAttackType.Ranged); if (rangedAttack) { rightAnimation.clearAnimation(); } } else { path = "Prefab/Sprite/man" + GameDefine.getString3(rt.Sprite) + "/" + GameDefine.getString3(rt.Sprite); path += (result.type == GameBattleAttackResultPhysical.Type.Block ? "ab" : "a"); GameObject object1 = Resources.Load <GameObject>(path); if (object1 == null) { onShowOver(); return; } obj = Instantiate <GameObject>(object1); attackerAnimation = obj.GetComponent <GameAnimation>(); attackerAnimation.UI = true; attackerAnimation.onAnimationEvent = onAnimationEvent; trans = obj.transform; trans.SetParent(right.transform); trans.localScale = Vector3.one; trans.localPosition = Vector3.zero; defencerAnimation = leftAnimation; RectTransform trans1 = right.GetComponent <RectTransform>(); trans1.SetSiblingIndex(3); rangedAttack = (rt.AttackType == GameUnitAttackType.Ranged); if (rangedAttack) { leftAnimation.clearAnimation(); } } attackerAnimation.otherGameAnimation = defencerAnimation; if (o) { onShowOver(); } else { scale = 2.0f; alpha = 0.1f; time = 0.0f; alphaAdd = true; startFade = true; updateStage(); } }
public void initUnits() { GameBattleStage stage = GameBattleManager.instance.ActiveBattleStage; units = new GameBattleUnit[stage.Man.Length]; for (int i = 0; i < stage.Man.Length; i++) { GameUnit unit = GameUnitData.instance.getData(stage.Man[i].UnitBase.UnitID); string path = "Prefab/Sprite/man" + GameDefine.getString3(unit.Sprite) + "/"; path += (GameDefine.getString3(unit.Sprite) + "man"); GameObject obj = Instantiate <GameObject>(Resources.Load <GameObject>(path)); GameAnimation ani = obj.GetComponent <GameAnimation>(); obj.name = "man" + GameDefine.getString3(unit.Sprite) + " " + i + " " + stage.Man[i].UnitBase.UnitID; Transform trans = obj.transform; trans.SetParent(unitTransform); trans.localScale = new Vector3(1.0f, 1.0f, 1.0f); GameBattleMovement movement = obj.AddComponent <GameBattleMovement>(); GameBattleUnit battleUnit = obj.AddComponent <GameBattleUnit>(); battleUnit.init(unit, stage.Man[i].clone()); if (battleUnit.UnitID < GameDefine.MAX_USER) { battleUnit.setUnitBase(GameUserData.instance.getUnitBase(battleUnit.UnitID)); } battleUnit.updateUnitData(); battleUnit.initHPMP(); battleUnit.clearMove(); if (battleUnit.IsUser) { addUser(battleUnit); } else if (battleUnit.IsEnemy) { addEnemy(battleUnit); } else if (battleUnit.IsNpc) { addNpc(battleUnit); } units[i] = battleUnit; if (stage.XY.Length <= i) { } else { GameBattleXY xy = stage.XY[i]; movement.setPos(xy.X, xy.Y); } } }