Esempio n. 1
0
        protected override bool Exec()
        {
            VarRef timerName = PatheaScript.Util.GetVarRefOrValue(mInfo, "id", VarValue.EType.String, mTrigger);

            Functor initSecFunctor = mFactory.GetFunctor(mInfo, "set1");
            VarRef  initSec        = PatheaScript.Util.GetVarRefOrValue(mInfo, "sec", VarValue.EType.Float, mTrigger);

            Functor speedFunctor = mFactory.GetFunctor(mInfo, "set2");
            VarRef  speed        = PatheaScript.Util.GetVarRefOrValue(mInfo, "speed", VarValue.EType.Float, mTrigger);

            initSecFunctor.Set(new Variable(), initSec.Var);
            initSecFunctor.Do();

            speedFunctor.Set(new Variable(), speed.Var);
            speedFunctor.Do();

            PETimer timer = new PETimer();

            timer.Second      = (double)((float)initSecFunctor.Target.Value);
            timer.ElapseSpeed = (float)speedFunctor.Target.Value;

            //PETimerMgr.Instance.Remove(timerName);

            PeTimerMgr.Instance.Add((string)timerName.Value, timer);
            return(true);
        }
Esempio n. 2
0
        protected override bool Exec()
        {
            VarRef  playerId     = PeType.GetPlayerId(mInfo, mTrigger);
            VarRef  itemIdVarRef = PeType.GetItemId(mInfo, mTrigger);
            VarRef  count        = PatheaScript.Util.GetVarRefOrValue(mInfo, "count", VarValue.EType.Int, mTrigger);
            Functor modify       = mFactory.GetFunctor(mInfo, "modify");

            List <Pathea.PeEntity> playerList = PeType.GetPlayer((int)playerId.Value);
            int itemId = (int)itemIdVarRef.Value;

            foreach (Pathea.PeEntity player in playerList)
            {
                Pathea.PlayerPackageCmpt pkg      = player.GetCmpt <Pathea.PlayerPackageCmpt>();
                ItemAsset.ItemPackage    accessor = pkg.package._playerPak;

                int itemCount = accessor.GetCount(itemId);
                modify.Set(new Variable(itemCount), count.Var);
                modify.Do();

                int newItemCount = (int)(modify.Target.Value);

                if (newItemCount == itemCount)
                {
                    continue;
                }
                else if (newItemCount > itemCount)
                {
                    int dd = newItemCount - itemCount;


                    if (!accessor.Add(itemId, dd))
                    {
                        Debug.LogError("Add item:" + itemId + " to player:" + player + " failed.");
                    }
                    else
                    {
                        Debug.Log("Add item:" + itemId + " count:" + dd + " to player:" + player + " succeed.");
                    }
                }
                else
                {
                    int dd = itemCount - newItemCount;

                    accessor.Destroy(itemId, dd);

                    Debug.Log("remove item:" + itemId + " count:" + dd + "from player:" + player + " succeed.");
                }
            }

            return(true);
        }