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