private void SetViewModel(IWorldObjectView objectView, WorldObjectType objectType) { IWorldObjectModel objectModel; if (objectType == WorldObjectType.LIGHT) { var lightView = (LightView)objectView; objectModel = new LightModel(); objectModel.LocalCenterPoint = lightView.localCenterPoint; ((ILightModel)objectModel).Intensity = lightView.lightComponent.intensity; ((ILightModel)objectModel).ConeAngle = lightView.lightComponent.spotAngle; } else { var shapeView = (ShapeView)objectView; objectModel = new ShapeModel(); objectModel.LocalCenterPoint = shapeView.localCenterPoint; ((IShapeModel)objectModel).Color = WorldObjectMaterials.Instance.ShapeDefaultColor; } objectModel.Type = objectType; objectModel.Name = objectType.ToString(); objectModel.Position = Vector3.zero; objectModel.Rotation = Quaternion.identity; objectView.Model = objectModel; }
public void WorldObjectClicked(IWorldObjectView worldObject, MouseClickType clickType) { if (_selectedView != null) { _selectedView.SetSelected(false); _selectedView = null; } IWorldObjectModel model = null; if (worldObject != null) { model = worldObject.Model; _selectedView = worldObject; _selectedView.SetSelected(true); } if (WorldObjectSelectedEventHandler != null) { WorldObjectSelectedEventHandler(this, new WorldObjectSelectedEventArgs(model, clickType)); } }