Beispiel #1
0
        void AddResources(BattleField field)
        {
            NaturalResource[] res = field.NaturalResources;

            for (int i = 0; i < res.Length; i++)
            {
                NaturalResource obj = res[i];
                switch (obj.Type)
                {
                case NaturalResourceType.Oil:
                    OilFieldObject oilfld = obj as OilFieldObject;
                    if (oilfld != null)
                    {
                        oilfld.ResVisible += scene.Resource_Visible;
                        oilfld.InitalizeGraphics(renderSys);
                        scene.Scene.AddObjectToScene(oilfld);
                    }
                    break;

                case NaturalResourceType.Wood:
                    ForestObject forest = obj as ForestObject;
                    if (forest != null)
                    {
                        forest.ResVisible += scene.Resource_Visible;
                        forest.InitalizeGraphics(renderSys);
                        scene.Scene.AddObjectToScene(forest);
                    }
                    break;
                }
            }
        }
Beispiel #2
0
        void RenderGreen(Sprite sprite)
        {
            sprite.Draw(statusGreenBackground, 405, 580, ColorValue.White);
            ForestObject oil = (ForestObject)selectedResource;
            {
                int hp     = (int)oil.CurrentAmount;
                int hpFull = (int)(oil.MaxAmount);

                int hpTexWidth = (int)(statusGreenBarValue.Width * (oil.CurrentAmount / oil.MaxAmount));
                sprite.Draw(statusGreenBarValue, new Rectangle(598, 615, hpTexWidth, statusGreenBarValue.Height),
                            new Rectangle(0, 0, hpTexWidth, statusGreenBarValue.Height), ColorValue.White);
                sprite.Draw(statusGreenBarEdge, 580, 600, ColorValue.White);

                string hpInfo = hp.ToString() + "/" + hpFull.ToString();

                Matrix trans = Matrix.Scaling(0.8f, 0.8f, 1) * Matrix.Translation(new Vector3(680, 624, 0));
                sprite.SetTransform(trans);
                f8.DrawString(sprite, hpInfo, 0, 0, ColorValue.White);
                sprite.SetTransform(Matrix.Identity);
            }
        }
Beispiel #3
0
        /// <summary>
        /// 初始化自然资源
        /// </summary>
        void InitializeNaturalResource()
        {
            FileLocation      fl     = FileSystem.Instance.Locate("resources.xml", GameFileLocs.Config);
            GameConfiguration resCon = new GameConfiguration(fl);

            GameConfiguration.ValueCollection resVals = resCon.Values;

            List <NaturalResource> resources = new List <NaturalResource>(MaxCities);

            foreach (GameConfigurationSection sect in resVals)
            {
                string type = sect.GetString("Type", string.Empty).ToLowerInvariant();

                if (type == "wood")
                {
                    ForestObject forest = new ForestObject(this);
                    forest.Parse(sect);
                    resources.Add(forest);
                }
                else if (type == "petro")
                {
                    OilFieldObject fld = new OilFieldObject(this);
                    fld.Parse(sect);
                    resources.Add(fld);
                }
            }
            naturalResource = resources.ToArray();

            for (int i = 0; i < cities.Length; i++)
            {
                if (cities[i].Type == CityType.Oil || cities[i].Type == CityType.Green)
                {
                    ((GatherCity)cities[i]).FindResources(resources);
                }
            }
        }
        /// <summary>
        /// Container Class for all the properties for organization.
        /// </summary>
        /// <param name="c"></param>
        public TorqueScriptTemplate(ref dnTorque c)
            {
            m_ts = c;
            _mConsoleobject = new ConsoleObject(ref c);
            _mMathobject = new tMath(ref c);
            	_mUtil = new UtilObject(ref c);
	_mHTTPObject = new HTTPObjectObject(ref c);
	_mTCPObject = new TCPObjectObject(ref c);
	_mDynamicConsoleMethodComponent = new DynamicConsoleMethodComponentObject(ref c);
	_mSimComponent = new SimComponentObject(ref c);
	_mArrayObject = new ArrayObjectObject(ref c);
	_mConsoleLogger = new ConsoleLoggerObject(ref c);
	_mFieldBrushObject = new FieldBrushObjectObject(ref c);
	_mPersistenceManager = new PersistenceManagerObject(ref c);
	_mSimDataBlock = new SimDataBlockObject(ref c);
	_mSimObject = new SimObjectObject(ref c);
	_mSimPersistSet = new SimPersistSetObject(ref c);
	_mSimSet = new SimSetObject(ref c);
	_mSimXMLDocument = new SimXMLDocumentObject(ref c);
	_mFileObject = new FileObjectObject(ref c);
	_mFileStreamObject = new FileStreamObjectObject(ref c);
	_mStreamObject = new StreamObjectObject(ref c);
	_mZipObject = new ZipObjectObject(ref c);
	_mDecalRoad = new DecalRoadObject(ref c);
	_mMeshRoad = new MeshRoadObject(ref c);
	_mRiver = new RiverObject(ref c);
	_mScatterSky = new ScatterSkyObject(ref c);
	_mSkyBox = new SkyBoxObject(ref c);
	_mSun = new SunObject(ref c);
	_mGuiRoadEditorCtrl = new GuiRoadEditorCtrlObject(ref c);
	_mForest = new ForestObject(ref c);
	_mForestWindEmitter = new ForestWindEmitterObject(ref c);
	_mForestBrush = new ForestBrushObject(ref c);
	_mForestBrushTool = new ForestBrushToolObject(ref c);
	_mForestEditorCtrl = new ForestEditorCtrlObject(ref c);
	_mForestSelectionTool = new ForestSelectionToolObject(ref c);
	_mCubemapData = new CubemapDataObject(ref c);
	_mDebugDrawer = new DebugDrawerObject(ref c);
	_mGuiTSCtrl = new GuiTSCtrlObject(ref c);
	_mGuiBitmapButtonCtrl = new GuiBitmapButtonCtrlObject(ref c);
	_mGuiButtonBaseCtrl = new GuiButtonBaseCtrlObject(ref c);
	_mGuiCheckBoxCtrl = new GuiCheckBoxCtrlObject(ref c);
	_mGuiIconButtonCtrl = new GuiIconButtonCtrlObject(ref c);
	_mGuiSwatchButtonCtrl = new GuiSwatchButtonCtrlObject(ref c);
	_mGuiToolboxButtonCtrl = new GuiToolboxButtonCtrlObject(ref c);
	_mGuiAutoScrollCtrl = new GuiAutoScrollCtrlObject(ref c);
	_mGuiDynamicCtrlArrayControl = new GuiDynamicCtrlArrayControlObject(ref c);
	_mGuiFormCtrl = new GuiFormCtrlObject(ref c);
	_mGuiFrameSetCtrl = new GuiFrameSetCtrlObject(ref c);
	_mGuiPaneControl = new GuiPaneControlObject(ref c);
	_mGuiRolloutCtrl = new GuiRolloutCtrlObject(ref c);
	_mGuiScrollCtrl = new GuiScrollCtrlObject(ref c);
	_mGuiStackControl = new GuiStackControlObject(ref c);
	_mGuiTabBookCtrl = new GuiTabBookCtrlObject(ref c);
	_mGuiBitmapCtrl = new GuiBitmapCtrlObject(ref c);
	_mGuiColorPickerCtrl = new GuiColorPickerCtrlObject(ref c);
	_mGuiDirectoryFileListCtrl = new GuiDirectoryFileListCtrlObject(ref c);
	_mGuiFileTreeCtrl = new GuiFileTreeCtrlObject(ref c);
	_mGuiGameListMenuCtrl = new GuiGameListMenuCtrlObject(ref c);
	_mGuiGameListOptionsCtrl = new GuiGameListOptionsCtrlObject(ref c);
	_mGuiGradientCtrl = new GuiGradientCtrlObject(ref c);
	_mGuiListBoxCtrl = new GuiListBoxCtrlObject(ref c);
	_mGuiMaterialCtrl = new GuiMaterialCtrlObject(ref c);
	_mGuiMLTextCtrl = new GuiMLTextCtrlObject(ref c);
	_mGuiPopUpMenuCtrl = new GuiPopUpMenuCtrlObject(ref c);
	_mGuiPopUpMenuCtrlEx = new GuiPopUpMenuCtrlExObject(ref c);
	_mGuiSliderCtrl = new GuiSliderCtrlObject(ref c);
	_mGuiTabPageCtrl = new GuiTabPageCtrlObject(ref c);
	_mGuiTextCtrl = new GuiTextCtrlObject(ref c);
	_mGuiTextEditCtrl = new GuiTextEditCtrlObject(ref c);
	_mGuiTextListCtrl = new GuiTextListCtrlObject(ref c);
	_mGuiTreeViewCtrl = new GuiTreeViewCtrlObject(ref c);
	_mGuiCanvas = new GuiCanvasObject(ref c);
	_mGuiControl = new GuiControlObject(ref c);
	_mGuiControlProfile = new GuiControlProfileObject(ref c);
	_mDbgFileView = new DbgFileViewObject(ref c);
	_mGuiEditCtrl = new GuiEditCtrlObject(ref c);
	_mGuiFilterCtrl = new GuiFilterCtrlObject(ref c);
	_mGuiGraphCtrl = new GuiGraphCtrlObject(ref c);
	_mGuiImageList = new GuiImageListObject(ref c);
	_mGuiInspector = new GuiInspectorObject(ref c);
	_mGuiInspectorTypeFileName = new GuiInspectorTypeFileNameObject(ref c);
	_mGuiInspectorTypeBitMask32 = new GuiInspectorTypeBitMask32Object(ref c);
	_mGuiMenuBar = new GuiMenuBarObject(ref c);
	_mGuiParticleGraphCtrl = new GuiParticleGraphCtrlObject(ref c);
	_mGuiShapeEdPreview = new GuiShapeEdPreviewObject(ref c);
	_mGuiInspectorDynamicField = new GuiInspectorDynamicFieldObject(ref c);
	_mGuiInspectorDynamicGroup = new GuiInspectorDynamicGroupObject(ref c);
	_mGuiInspectorField = new GuiInspectorFieldObject(ref c);
	_mGuiVariableInspector = new GuiVariableInspectorObject(ref c);
	_mGuiMessageVectorCtrl = new GuiMessageVectorCtrlObject(ref c);
	_mGuiProgressBitmapCtrl = new GuiProgressBitmapCtrlObject(ref c);
	_mGuiTickCtrl = new GuiTickCtrlObject(ref c);
	_mGuiTheoraCtrl = new GuiTheoraCtrlObject(ref c);
	_mMessageVector = new MessageVectorObject(ref c);
	_mEditTSCtrl = new EditTSCtrlObject(ref c);
	_mGuiMissionAreaCtrl = new GuiMissionAreaCtrlObject(ref c);
	_mMECreateUndoAction = new MECreateUndoActionObject(ref c);
	_mMEDeleteUndoAction = new MEDeleteUndoActionObject(ref c);
	_mWorldEditor = new WorldEditorObject(ref c);
	_mLangTable = new LangTableObject(ref c);
	_mPathedInterior = new PathedInteriorObject(ref c);
	_mMaterial = new MaterialObject(ref c);
	_mSimResponseCurve = new SimResponseCurveObject(ref c);
	_mMenuBar = new MenuBarObject(ref c);
	_mPopupMenu = new PopupMenuObject(ref c);
	_mFileDialog = new FileDialogObject(ref c);
	_mPostEffect = new PostEffectObject(ref c);
	_mRenderBinManager = new RenderBinManagerObject(ref c);
	_mRenderPassManager = new RenderPassManagerObject(ref c);
	_mRenderPassStateToken = new RenderPassStateTokenObject(ref c);
	_mSceneObject = new SceneObjectObject(ref c);
	_mSFXController = new SFXControllerObject(ref c);
	_mSFXParameter = new SFXParameterObject(ref c);
	_mSFXProfile = new SFXProfileObject(ref c);
	_mSFXSource = new SFXSourceObject(ref c);
	_mActionMap = new ActionMapObject(ref c);
	_mNetConnection = new NetConnectionObject(ref c);
	_mNetObject = new NetObjectObject(ref c);
	_mAIClient = new AIClientObject(ref c);
	_mAIConnection = new AIConnectionObject(ref c);
	_mAIPlayer = new AIPlayerObject(ref c);
	_mCamera = new CameraObject(ref c);
	_mDebris = new DebrisObject(ref c);
	_mGroundPlane = new GroundPlaneObject(ref c);
	_mGuiMaterialPreview = new GuiMaterialPreviewObject(ref c);
	_mGuiObjectView = new GuiObjectViewObject(ref c);
	_mItem = new ItemObject(ref c);
	_mLightBase = new LightBaseObject(ref c);
	_mLightDescription = new LightDescriptionObject(ref c);
	_mLightFlareData = new LightFlareDataObject(ref c);
	_mMissionArea = new MissionAreaObject(ref c);
	_mSpawnSphere = new SpawnSphereObject(ref c);
	_mPathCamera = new PathCameraObject(ref c);
	_mPhysicalZone = new PhysicalZoneObject(ref c);
	_mPlayer = new PlayerObject(ref c);
	_mPortal = new PortalObject(ref c);
	_mProjectile = new ProjectileObject(ref c);
	_mProximityMine = new ProximityMineObject(ref c);
	_mShapeBaseData = new ShapeBaseDataObject(ref c);
	_mShapeBase = new ShapeBaseObject(ref c);
	_mStaticShape = new StaticShapeObject(ref c);
	_mTrigger = new TriggerObject(ref c);
	_mTSStatic = new TSStaticObject(ref c);
	_mZone = new ZoneObject(ref c);
	_mRenderMeshExample = new RenderMeshExampleObject(ref c);
	_mLightning = new LightningObject(ref c);
	_mParticleData = new ParticleDataObject(ref c);
	_mParticleEmitterData = new ParticleEmitterDataObject(ref c);
	_mParticleEmitterNode = new ParticleEmitterNodeObject(ref c);
	_mPrecipitation = new PrecipitationObject(ref c);
	_mGameBase = new GameBaseObject(ref c);
	_mGameConnection = new GameConnectionObject(ref c);
	_mPhysicsDebrisData = new PhysicsDebrisDataObject(ref c);
	_mPhysicsForce = new PhysicsForceObject(ref c);
	_mPhysicsShape = new PhysicsShapeObject(ref c);
	_mAITurretShape = new AITurretShapeObject(ref c);
	_mTurretShape = new TurretShapeObject(ref c);
	_mFlyingVehicle = new FlyingVehicleObject(ref c);
	_mWheeledVehicle = new WheeledVehicleObject(ref c);
	_mTerrainBlock = new TerrainBlockObject(ref c);
	_mSettings = new SettingsObject(ref c);
	_mCompoundUndoAction = new CompoundUndoActionObject(ref c);
	_mUndoManager = new UndoManagerObject(ref c);
	_mUndoAction = new UndoActionObject(ref c);
	_mEventManager = new EventManagerObject(ref c);
	_mMessage = new MessageObject(ref c);
}
Beispiel #5
0
 public ForestViewer(Viewer viewer, ForestObject forest, in WorldPosition position)
Beispiel #6
0
        void UpdateMouseCursorScene(GameTime time)
        {
            if (MouseInput.IsMouseUpLeft)
            {
                picker.SelectCurrentObject();
            }
            cursorColor = CursorColor.White;

            if (selectionMarker.SelectedObject != null)
            {
                City selCity   = selectionMarker.SelectedObject as City;
                City hoverCity = selectionMarker.MouseHoverObject as City;

                bool passed = false;
                if (selCity != null && hoverCity != null)
                {
                    if (selCity != hoverCity)
                    {
                        if (selCity.IsCaptured && selCity.Owner == player)
                        {
                            #region 出击

                            cursorColor = getColor(hoverCity.Owner);
                            // attack
                            if (MouseInput.IsMouseUpRight && selectionMarker.HasPath)
                            {
                                if (selCity.NearbyOwnedBallCount > 0)
                                {
                                    //if (selCity.HasMultipleTypeRBalls())
                                    {
                                        isWaitingRBallSelect = true;
                                        sendBallSelect.Open(selCity, hoverCity);
                                    }
                                    //else
                                    //{
                                    //selCity.Throw(hoverCity);
                                    //}
                                }
                            }
                            if (selectionMarker.HasPath && selCity.NearbyOwnedBallCount > 0)
                            {
                                if (hoverCity.Owner != selCity.Owner)
                                {
                                    cursorState = MouseCursor.Attack;
                                }
                                else
                                {
                                    cursorState = MouseCursor.Move;
                                }
                            }
                            else
                            {
                                cursorState = MouseCursor.Stop;
                            }

                            passed = true;

                            #endregion
                        }
                        else
                        {
                            #region 漂流
                            if (selCity.HasOwnedBalls(player) && selCity.Owner != player && hoverCity.Owner == player)
                            {
                                if (selectionMarker.PathNodeLength == 2)
                                {
                                    if (MouseInput.IsMouseUpRight)
                                    {
                                        for (int i = 0; i < selCity.NearbyEnemyBallCount; i++)
                                        {
                                            selCity.GetNearbyEnemyBall(i).Float(hoverCity);
                                        }
                                    }
                                    cursorState = MouseCursor.Move;
                                    cursorColor = getColor(hoverCity.Owner);
                                    passed      = true;
                                }
                            }
                            #endregion
                        }
                    }
                }

                if (!passed)
                {
                    Harvester    hoverHarv       = selectionMarker.MouseHoverObject as Harvester;
                    Harvester    selectedHarv    = selectionMarker.SelectedObject as Harvester;
                    ForestObject naturalResource = selectionMarker.MouseHoverObject as ForestObject;

                    if (selectionMarker.MouseHoverObject != null)
                    {
                        if (selectionMarker.SelectedObject != selectionMarker.MouseHoverObject)
                        {
                            WorldObject wo = selectionMarker.MouseHoverObject as WorldObject;
                            if (wo != null && wo.IsInVisibleRange)
                            {
                                cursorState = MouseCursor.Selection;
                            }

                            if (hoverHarv != null && hoverHarv.IsInVisibleRange)
                            {
                                cursorColor = getColor(hoverHarv.Owner);
                                cursorState = MouseCursor.Selection;
                            }

                            if (selectedHarv != null && naturalResource != null)
                            {
                                if (selectedHarv.Parent.IsResourceInRange(naturalResource))
                                {
                                    cursorState = MouseCursor.Attack;
                                    cursorColor = CursorColor.Yellow;

                                    if (MouseInput.IsMouseUpRight)
                                    {
                                        selectedHarv.Parent.Gather(naturalResource);
                                    }
                                }
                                else
                                {
                                    // too far
                                    cursorState = MouseCursor.TooFar;
                                }
                            }
                        }
                        else
                        {
                            cursorState = MouseCursor.Normal;
                        }
                    }
                    else
                    {
                        // command harv
                        cursorState = MouseCursor.Normal;
                    }
                }
            }
            else
            {
                City      hoverCity = selectionMarker.MouseHoverObject as City;
                Harvester hoverHarv = selectionMarker.MouseHoverObject as Harvester;

                if (selectionMarker.MouseHoverObject != null)
                {
                    WorldObject wo = selectionMarker.MouseHoverObject as WorldObject;
                    if (wo != null && wo.IsInVisibleRange)
                    {
                        cursorState = MouseCursor.Selection;
                    }

                    if (hoverCity != null && hoverCity.IsInVisibleRange)
                    {
                        cursorColor = getColor(hoverCity.Owner);
                    }
                    if (hoverHarv != null && hoverHarv.IsInVisibleRange)
                    {
                        cursorColor = getColor(hoverHarv.Owner);
                        cursorState = MouseCursor.Selection;
                    }
                }
                else
                {
                    cursorState = MouseCursor.Normal;
                }
            }
        }