示例#1
0
        public override void Execute(Level level)
        {
            ClientAvatar ca = level.GetPlayerAvatar();

            DecoData dd = (DecoData)CSVManager.DataTables.GetDataById(DecoId);

            if (ca.HasEnoughResources(dd.GetBuildResource(), dd.GetBuildCost()))
            {
                ResourceData rd = dd.GetBuildResource();
                ca.CommodityCountChangeHelper(0, rd, -dd.GetBuildCost());

                Deco d = new Deco(dd, level);
                d.SetPositionXY(X, Y, level.GetPlayerAvatar().GetActiveLayout());
                level.GameObjectManager.AddGameObject(d);
            }
        }
示例#2
0
        internal override void Process()
        {
            ClientAvatar ca = this.Device.Player.Avatar;

            DecoData dd = (DecoData)CSVManager.DataTables.GetDataById(DecoId);

            if (ca.HasEnoughResources(dd.GetBuildResource(), dd.GetBuildCost()))
            {
                ResourceData rd = dd.GetBuildResource();
                ca.CommodityCountChangeHelper(0, rd, -dd.GetBuildCost());

                Deco d = new Deco(dd, this.Device.Player);
                d.SetPositionXY(X, Y, this.Device.Player.Avatar.m_vActiveLayout);
                this.Device.Player.GameObjectManager.AddGameObject(d);
            }
        }
        public override void Execute(Level level)
        {
            ClientAvatar avatar = level.GetPlayerAvatar();

            DecoData dataById = (DecoData)CSVManager.DataTables.GetDataById(DecoId);

            if (!avatar.HasEnoughResources(dataById.GetBuildResource(), dataById.GetBuildCost()))
            {
                return;
            }
            ResourceData buildResource = dataById.GetBuildResource();

            avatar.CommodityCountChangeHelper(0, (Data)buildResource, -dataById.GetBuildCost());

            Deco deco = new Deco((Data)dataById, level);

            deco.SetPositionXY(X, Y, level.GetPlayerAvatar().GetActiveLayout());
            level.GameObjectManager.AddGameObject((GameObject)deco);
        }