コード例 #1
0
        private PlayerTool createTypeInput(GameVoxelType type, string name)
        {
            var ret = new DelegatePlayerTool(name,
                                             v => v.ChangeType(typesFactory.Get <LandType>()),
                                             v =>
            {
                if (v.Type == typesFactory.Get <LandType>())
                {
                    v.ChangeType(type);
                }
            });

            ret.onTargetChanged = (player, v, key, mouse) =>
            {
                if (mouse.LeftMousePressed)
                {
                    ret.onLeftClick(v);
                }
                else if (mouse.RightMousePressed)
                {
                    ret.onRightClick(v);
                }
            };
            return(ret);
        }
コード例 #2
0
        private PlayerTool createBuildingSiteInput(GameVoxelType type, string name)
        {
            var buildingSiteType = typesFactory.GetBuildingSite(type);
            var ret = new DelegatePlayerTool(name,
                                             v => v.ChangeType(typesFactory.Get <LandType>()),
                                             v =>
            {
                if (v.Type != typesFactory.Get <LandType>())
                {
                    return;
                }
                if (CheatmodeEnabled)
                {
                    v.ChangeType(type);
                }
                else
                {
                    v.ChangeType(buildingSiteType);
                }
            });

            return(ret);
        }