OpenRA.Traits.DeveloperMode.ResolveOrder C# (CSharp) Method

ResolveOrder() public method

public ResolveOrder ( Actor self, Order order ) : void
self Actor
order Order
return void
        public void ResolveOrder(Actor self, Order order)
        {
            if (!Enabled)
                return;

            switch (order.OrderString)
            {
                case "DevAll":
                {
                    enableAll ^= true;
                    allTech = fastCharge = fastBuild = disableShroud = unlimitedPower = buildAnywhere = enableAll;

                    if (enableAll)
                    {
                        self.Owner.Shroud.ExploreAll();

                        var amount = order.ExtraData != 0 ? (int)order.ExtraData : info.Cash;
                        self.Trait<PlayerResources>().GiveCash(amount);
                    }
                    else
                        self.Owner.Shroud.ResetExploration();

                    self.Owner.Shroud.Disabled = DisableShroud;
                    if (self.World.LocalPlayer == self.Owner)
                        self.World.RenderPlayer = DisableShroud ? null : self.Owner;

                    break;
                }

                case "DevEnableTech":
                {
                    allTech ^= true;
                    break;
                }

                case "DevFastCharge":
                {
                    fastCharge ^= true;
                    break;
                }

                case "DevFastBuild":
                {
                    fastBuild ^= true;
                    break;
                }

                case "DevGiveCash":
                {
                    var amount = order.ExtraData != 0 ? (int)order.ExtraData : info.Cash;
                    self.Trait<PlayerResources>().GiveCash(amount);
                    break;
                }

                case "DevGrowResources":
                {
                    foreach (var a in self.World.ActorsWithTrait<ISeedableResource>())
                        for (var i = 0; i < info.ResourceGrowth; i++)
                            a.Trait.Seed(a.Actor);

                    break;
                }

                case "DevVisibility":
                {
                    disableShroud ^= true;
                    self.Owner.Shroud.Disabled = DisableShroud;
                    if (self.World.LocalPlayer == self.Owner)
                        self.World.RenderPlayer = DisableShroud ? null : self.Owner;

                    break;
                }

                case "DevPathDebug":
                {
                    pathDebug ^= true;
                    break;
                }

                case "DevGiveExploration":
                {
                    self.Owner.Shroud.ExploreAll();
                    break;
                }

                case "DevResetExploration":
                {
                    self.Owner.Shroud.ResetExploration();
                    break;
                }

                case "DevUnlimitedPower":
                {
                    unlimitedPower ^= true;
                    break;
                }

                case "DevBuildAnywhere":
                {
                    buildAnywhere ^= true;
                    break;
                }

                default:
                    return;
            }

            Game.Debug("Cheat used: {0} by {1}", order.OrderString, self.Owner.PlayerName);
        }