using UnityEngine; using System.Collections; public class Capsule : MonoBehaviour { private float startTime; private float startY = 30f; private bool isOpen = false; private CraftData craftData; private CraftEquipModify equipModify; private Craft swapCraft; private int swapId; public Animation animation; // Use this for initialization void Start () { Vector3 position = transform.localPosition; position.y = startY; transform.localPosition = position; startTime = GameTime.time; } public void SetData(CraftData data, CraftEquipModify equipModify) { this.craftData = data; this.equipModify = equipModify; transform.position = data.position; } public void SetSwap(Craft swapCraft, int swapId, CraftEquipModify equipModify) { this.swapCraft = swapCraft; this.swapId = swapId; this.equipModify = equipModify; } // Update is called once per frame void Update () { float currentTime = GameTime.time; float deltaTime = currentTime - startTime; if(deltaTime < 1f) { Vector3 position = transform.localPosition; position.y = startY*(1f-deltaTime); transform.localPosition = position; } else if(!isOpen) { isOpen = true; animation.Play("Open"); if(craftData != null) { BattleSession battleSession = Session.GetInstance().GetBattleSession(); try { Craft craft = battleSession.GetBattleController().CreateCraft(craftData, equipModify); } catch(System.Exception e) { Debuger.LogException (e); } } else { CraftFactory.SwapModel(swapCraft, swapId, equipModify); if(swapCraft.IsCtrl()) Session.GetInstance().GetBattleSession().GetBattleController().battleUI.powerIconContainer.SetCraft(swapCraft); transform.SetParent(null); } } else if(isOpen) { if(!animation.isPlaying) { Destroy(this.gameObject); } } } }