コード例 #1
0
ファイル: BeiBaoWnd.cs プロジェクト: 741645596/batgame
    void BtnClose_OnClickEventHandler(UIButton sender)
    {
        GameObjectActionWait gad = new GameObjectActionWait(ConstantData.fPopDownAniTime);

        gad.m_complete = DestoryDialogCallBack;
        WndEffects.PlayWndAnimation(gameObject, gad, "popupEnd");
    }
コード例 #2
0
ファイル: AddExpItem.cs プロジェクト: 741645596/batgame
    void AddEffect(object o)
    {
        GameObjectActionExcute gae = gameObject.GetComponent <GameObjectActionExcute>();

        if (gae)
        {
            GameObjectActionWait wait = gae.GetCurrentAction() as GameObjectActionWait;
            if (wait != null)
            {
                int   level = (int)wait.Data1;
                float fill  = (float)wait.Data2;
                bool  bShow = (bool)wait.Data3;

                NGUIUtil.UpdateExpFromValue(MyHead.SprNumPercentage, fill, 0.1f);

                NGUIUtil.SetLableText <string>(MyHead.LblLv, level.ToString());

                if (gae.GetNextAction() == null)
                {
                    MyHead.LblNumUsed.gameObject.SetActive(false);
                }
                else
                {
                    MyHead.LblNumUsed.gameObject.SetActive(bShow);
                }
            }
        }
    }
コード例 #3
0
ファイル: Building.cs プロジェクト: 741645596/batgame
 /// <summary>
 ///  攻击范围 光效半圆环
 /// </summary>
 /// <param name="isShow">是否显示</param>
 /// <param name="radius">攻击半径</param>
 public void ShowAttackRangeSemi(bool isShow, float radius = 1.0f)
 {
     if (isShow)
     {
         if (AttackRangeSemiCircle02 == null && AttackRangeSemiCircle01 == null)
         {
             AttackRangeSemiCircle01 = GameObjectLoader.LoadPath("effect/prefab/", "2000681_01", m_thisT);
             Vector3 pos = AttackRangeSemiCircle01.transform.position;
             AttackRangeSemiCircle01.transform.position = U3DUtil.AddX(pos, 1.5f);
             AttackRangeSemiCircle01.transform.Rotate(0, -180f, 0);
             GameObjectActionExcute       gae  = AttackRangeSemiCircle01.AddComponent <GameObjectActionExcute>();
             GameObjectActionWait         wait = new GameObjectActionWait(1 + Time.deltaTime, ShowSemiLoop);
             GameObjectActionDelayDestory fade = new GameObjectActionDelayDestory(1f);
             gae.AddAction(wait);
             gae.AddAction(fade);
         }
     }
     else
     {
         if (AttackRangeSemiCircle01)
         {
             GameObject.Destroy(AttackRangeSemiCircle01);
         }
         if (AttackRangeSemiCircle02)
         {
             GameObject.Destroy(AttackRangeSemiCircle02);
         }
     }
 }
コード例 #4
0
ファイル: Wall.cs プロジェクト: 741645596/batgame
    private void SetOpenDoor(object o)
    {
        m_Attr.DoorState = true;
        GameObjectActionExcute gae  = GameObjectActionExcute.CreateExcute(m_thisT.gameObject);
        GameObjectActionWait   wait = new GameObjectActionWait(2.5f, CloseDoor);

        gae.AddAction(wait);
    }
コード例 #5
0
ファイル: CombatRoleItem.cs プロジェクト: 741645596/batgame
    private void UpdateHpBG()
    {
        NGUIUtil.UpdateSpriteValue(MyHead.hpBG, MyHead.hpSprite.fillAmount, 0.3f);
        GameObjectActionExcute gae  = GameObjectActionExcute.CreateExcute(gameObject);
        GameObjectActionWait   wait = new GameObjectActionWait(0.3f, HideHpBG);

        gae.AddAction(wait);
    }
コード例 #6
0
    /// <summary>
    /// 实现伤害数字向上漂浮消失的表现
    /// </summary>
    public static void AddHudTextShow(GameObject go, HUDText hud, string showText, Color c, float delay = 0)
    {
        GameObjectActionExcute gae  = GameObjectActionExcute.CreateExcute(go);
        GameObjectActionWait   wait = new GameObjectActionWait(delay);

        wait.Data1      = hud;
        wait.Data2      = showText;
        wait.Data3      = c;
        wait.m_complete = ShowHudText;
        gae.AddAction(wait);
    }
コード例 #7
0
ファイル: Wall.cs プロジェクト: 741645596/batgame
 /// <summary>
 /// 开门
 /// </summary>
 private void OpenDoor()
 {
     if (ani != null)
     {
         ani.SetInteger("iState", 1);
         //			SoundPlay.Play("open_door",false,false);
         m_open = true;
         GameObjectActionExcute gae  = GameObjectActionExcute.CreateExcute(m_thisT.gameObject);
         GameObjectActionWait   wait = new GameObjectActionWait(0.5f, SetOpenDoor);
         gae.AddAction(wait);
     }
 }
コード例 #8
0
    /// <summary>
    /// 显示toggle动画
    /// </summary>
    /// <param name="delay">开始显示第一个toggle的延时</param>
    /// <param name="interval">显示下一个toggle的间隔</param>
    void ShowTogglesAni(float delay, float interval)
    {
        GameObjectActionExcute gae = GameObjectActionExcute.CreateExcute(gameObject);
        float waitInterval         = delay;

        for (int i = 0; i < MyHead.ToggleList.Length; i++)
        {
            GameObjectActionWait wait = new GameObjectActionWait(waitInterval, WaitFinish);
            wait.Data1 = i;
            gae.AddAction(wait);
            waitInterval = interval;
        }
    }
コード例 #9
0
    public static void ExcuteWaitAction(GameObject go, float waitDuration, Complete callBack)
    {
        if (go == null)
        {
            return;
        }
        GameObjectActionWait gaw = new GameObjectActionWait(waitDuration);

        gaw.m_complete = callBack;
        GameObjectActionExcute gae = GameObjectActionExcute.CreateExcute(go);

        gae.AddAction(gaw);
    }
コード例 #10
0
    public void DelayCallBack(object o)
    {
        GameObjectActionExcute gae = GetComponent <GameObjectActionExcute>();

        if (gae)
        {
            GameObjectActionWait wait = gae.GetCurrentAction() as GameObjectActionWait;
            if (wait != null)
            {
                CanvasItem selecteditem = wait.Data1 as CanvasItem;
                selecteditem.m_bSelect = false;
            }
        }
    }
コード例 #11
0
    //自动切换到休闲动作
    IEnumerator   AutoToIdle()
    {
        yield return(new WaitForEndOfFrame());

        GameObjectActionExcute gae = GameObjectActionExcute.CreateExcute(MyHead.BtnClickSoldier.gameObject);

        gae.Stop();
        float aniLength = m_role.RoleSkinCom.GetAniLength();
        //NGUIUtil.DebugLog("index=" + m_iRoleAniIndex + "length=" + aniLength);
        GameObjectActionWait wait = new GameObjectActionWait(aniLength, PlayIdle);

        wait.Data1 = aniLength;
        gae.AddAction(wait);
    }
コード例 #12
0
ファイル: WndEffects.cs プロジェクト: 741645596/batgame
    /// <summary>
    /// Shows the window animation when the window  will distory.
    /// </summary>
    /// <param name="gameObject">Game object.</param>
    /// <param name="gad">Gad.</param>
    /// <param name="animationName">Animation name.</param>
    public static void PlayWndAnimation(GameObject gameObject, GameObjectActionWait gad, string animationName)
    {
        Animation ani = gameObject.GetComponent <Animation>();

        if (ani)
        {
            //ani.enabled = true;
            ActiveAnimation.Play(ani, animationName, AnimationOrTween.Direction.Forward);
        }

        GameObjectActionExcute gae = gameObject.AddComponent <GameObjectActionExcute>();

        gae.AddAction(gad);
    }
コード例 #13
0
    void BtnClose_OnClickHander(UIButton sender)
    {
        GameObject WndBack = WndEffects.FineChildGameObject(gameObject, "WndBackground");

        WndEffects.PlayWndAnimation(WndBack, "wndBackOver");

        GameObject Control = WndEffects.FineChildGameObject(gameObject, "Control");

        if (Control == null)
        {
            DestoryDialogCallBack(null);
        }
        GameObjectActionWait gadBack = new  GameObjectActionWait(ConstantData.fPopDownAniTime);;

        gadBack.m_complete = DestoryDialogCallBack;
        WndEffects.PlayWndAnimation(Control, gadBack, "popupEnd");
    }
コード例 #14
0
    /// <summary>
    /// 顺序显示toggle
    /// </summary>
    private void WaitFinish(object o)
    {
        GameObject go = o as GameObject;

        if (go == null)
        {
            return;
        }
        GameObjectActionExcute gae = go.GetComponent <GameObjectActionExcute>();

        if (gae)
        {
            GameObjectActionWait wait = gae.GetCurrentAction() as GameObjectActionWait;
            if (wait != null)
            {
                int index = (int)wait.Data1;
                NGUIUtil.SetActive(MyHead.ToggleList[index].gameObject, true);
            }
        }
    }
コード例 #15
0
ファイル: AddExpItem.cs プロジェクト: 741645596/batgame
    private void AddLeveAndExp(int level, float fill, bool bShowNum)
    {
//		if(m_bLongPress)
//		{
//			m_delay = 0.13f/(m_iLongPressAddNum + 1);
//		}
//		else
//		{
//			m_delay = 0.13f;
//		}
        m_delay = 0.13f / (m_iLongPressAddNum + 1);
        GameObjectActionExcute gae  = GameObjectActionExcute.CreateExcute(gameObject);
        GameObjectActionWait   wait = new GameObjectActionWait(m_delay);

        wait.Data1      = level;
        wait.Data2      = fill;
        wait.Data3      = bShowNum;
        wait.m_complete = AddEffect;
        gae.AddAction(wait);
    }
コード例 #16
0
ファイル: Building.cs プロジェクト: 741645596/batgame
 /// <summary>
 ///  攻击范围 光效完整环
 /// </summary>
 /// <param name="isShow">是否显示</param>
 /// <param name="radius">攻击半径</param>
 public void ShowAttackRange(bool isShow, int radius = 1)
 {
     if (isShow)
     {
         if (AttackRangeInCircle01 == null && AttackRangeInCircle02 == null)
         {
             AttackRangeInCircle01 = GameObjectLoader.LoadPath("effect/prefab/", "2000661_01", m_thisT);
             Vector3 pos = AttackRangeInCircle01.transform.position;
             AttackRangeInCircle01.transform.position = U3DUtil.AddX(pos, 1.5f);
             pos = AttackRangeInCircle01.transform.position;
             AttackRangeInCircle01.transform.position = U3DUtil.AddY(pos, 1.5f);
             AttackRangeInCircle01.transform.Rotate(0, -180f, 0);
             GameObjectActionExcute       gae  = AttackRangeInCircle01.AddComponent <GameObjectActionExcute>();
             GameObjectActionWait         wait = new GameObjectActionWait(1f, ShowInLoop01);
             GameObjectActionDelayDestory fade = new GameObjectActionDelayDestory(1.0f);
             gae.AddAction(wait);
             gae.AddAction(fade);
         }
         if (AttackRangeOutCircle01 == null && AttackRangeOutCircle02 == null)
         {
             AttackRangeOutCircle01 = GameObjectLoader.LoadPath("effect/prefab/", "2000671_01", m_thisT);
             Vector3 pos = AttackRangeOutCircle01.transform.position;
             AttackRangeOutCircle01.transform.position = U3DUtil.AddX(pos, 1.5f);
             pos = AttackRangeOutCircle01.transform.position;
             AttackRangeOutCircle01.transform.position = U3DUtil.AddY(pos, 1.5f);
             AttackRangeOutCircle01.transform.Rotate(0, -180f, 0);
             GameObjectActionExcute       gae  = AttackRangeOutCircle01.AddComponent <GameObjectActionExcute>();
             GameObjectActionWait         wait = new GameObjectActionWait(1.0f, ShowInLoop02);
             GameObjectActionDelayDestory fade = new GameObjectActionDelayDestory(1.0f);
             gae.AddAction(wait);
             gae.AddAction(fade);
         }
     }
     else
     {
         U3DUtil.Destroy(AttackRangeInCircle01);
         U3DUtil.Destroy(AttackRangeInCircle02);
         U3DUtil.Destroy(AttackRangeOutCircle01);
         U3DUtil.Destroy(AttackRangeOutCircle02);
     }
 }
コード例 #17
0
ファイル: WndEffects.cs プロジェクト: 741645596/batgame
    public static void DoCloseWndEffect(GameObject obj, Complete complete = null, string ControlStr = "Control", string wndStr = "WndBackground")
    {
        GameObject Bott = WndEffects.FineChildGameObject(obj, ControlStr);

        WndEffects.PlayWndAnimation(Bott, "popupEnd");

        GameObjectActionWait gadBack = new  GameObjectActionWait(ConstantData.fPopDownAniTime);;

        gadBack.m_complete = complete;

        GameObject WndBack = WndEffects.FineChildGameObject(obj, wndStr);

        if (WndBack != null)
        {
            WndEffects.PlayWndAnimation(WndBack, gadBack, "wndBackOver");
        }
        else
        {
            WndEffects.PlayWndAnimation(Bott, gadBack, "popupEnd");
        }
    }
コード例 #18
0
    public override void BeforeDead()
    {
        int loss = CmCarbon.DefenderInfo.Coin - CmCarbon.GetWinGold();

        CmCarbon.SetAddWinGold(loss);
        CombatInfoWnd Wnd = WndManager.FindDialog <CombatInfoWnd>();

        if (Wnd != null)
        {
            Wnd.SetCombatGold(loss, true);
            Wnd.SetCombatGold(-loss, false);
        }
        GameObjectActionExcute gae = m_thisT.gameObject.AddComponent <GameObjectActionExcute>();

        for (int i = 0; i < 4; i++)
        {
            GameObjectActionWait gaw = new GameObjectActionWait(0.5f);
            gaw.m_complete = BombCall;
            gae.AddAction(gaw);
        }
        base.BeforeDead();
    }
コード例 #19
0
ファイル: GameObjectAction.cs プロジェクト: 741645596/batgame
    Transform SetEffect(StageClickType type, int ID)
    {
        string path = "";

        if (type == StageClickType.Room)
        {
            path = "Textures/room/";
        }
        else if (type == StageClickType.Role || type == StageClickType.Captain)
        {
            path = "Textures/role/";
        }
        else if (type == StageClickType.Item)
        {
            path = "Textures/item/";
        }
        GameObjectActionExcute gae = EffectM.LoadEffect("effect/prefab/", "DropReward", m_target.transform.position + m_EndPos, BattleEnvironmentM.GetLifeMBornNode(true));

        if (gae != null)
        {
            gae.transform.localScale = m_StartScale;
            Sprite s = GameObjectLoader.LoadSprite(path, ID.ToString());
            if (s != null)
            {
                foreach (SpriteRenderer r in gae.gameObject.GetComponentsInChildren <SpriteRenderer>())
                {
                    r.sprite = s;
                }
            }
            GameObjectActionWait gaw = new GameObjectActionWait(1.0f);
            gae.AddAction(gaw);
            GameObjectActionResourceFlyToUI gar = new GameObjectActionResourceFlyToUI();
            gar.SetData(EffectCamera.camera, WndManager.GetNGUICamera(), 1, ResourceType.Box);
            gae.AddAction(gar);
            return(gae.transform);
        }
        return(null);
    }
コード例 #20
0
    static void ShowHudText(object o)
    {
        GameObject go = o as GameObject;

        if (go == null)
        {
            return;
        }
        GameObjectActionExcute gae = go.GetComponent <GameObjectActionExcute>();

        if (gae)
        {
            GameObjectActionWait wait = gae.GetCurrentAction() as GameObjectActionWait;
            if (wait != null)
            {
                HUDText hud = wait.Data1 as HUDText;
                Color   c   = (Color)wait.Data3;
                if (hud != null)
                {
                    hud.Add(wait.Data2.ToString(), c, 0f);
                }
            }
        }
    }