public CModelEditor(string AssetName) { _viewDirection = EViewDirection.VD_FRONT; mAssetName = AssetName; _asset = CGame.AssetManager.GetAsset <CModelAsset>(AssetName); _vectorModel = _asset.mVectorModel; }
private void _OnClickEdgeSetView(EViewDirection ViewDirection) { _viewDirection = ViewDirection; for (int i = 0; i < 4; ++i) { if (i == (int)ViewDirection) { mUI.SetToolbarButtonHighlight(_tbbView[i], CToolkitUI.EButtonHighlight.SELECTED); } else { mUI.SetToolbarButtonHighlight(_tbbView[i], CToolkitUI.EButtonHighlight.NOTHING); } } /* * GameObject.Destroy(_modelGob); * _modelGob = _vectorModel.CreateGameObject(ViewDirection); * _modelGob.transform.SetParent(_sceneGraph.transform); * _modelGob.GetComponent<MeshRenderer>().material.SetColor("_FloorColor", _floorColour); * * _camState = CGame.CameraManager.GetCamState(); * if (_camState.mViewMode == ECameraViewMode.CVM_GAME) * { * _camState.SetViewGame(ViewDirection); * CGame.CameraManager.SetCamState(_camState); * } */ }
public void SetViewGame(EViewDirection ViewDirection) { mViewMode = ECameraViewMode.CVM_GAME; mViewDirection = ViewDirection; mInteractable = true; mFOV = 15; mNearClip = 1; mFarClip = 500; mTargetPosition = Vector3.zero; mTargetRotation = mViewRotations[(int)ViewDirection]; mCamLocalPosition = new Vector3(0, 0, -65); mCamLocalRotation = Quaternion.identity; mLerpSpeed = 1.0f; }
public GameObject CreateGameObject(EViewDirection ViewDirection, Material SharedMat = null) { GameObject gob = new GameObject("vectorModel"); MeshRenderer meshRenderer = gob.AddComponent <MeshRenderer>(); if (SharedMat != null) { meshRenderer.sharedMaterial = SharedMat; } else { meshRenderer.material = CGame.WorldResources.VectorMat; } MeshFilter meshFilter = gob.AddComponent <MeshFilter>(); meshFilter.mesh = _mesh[(int)ViewDirection]; return(gob); }
private void _OnClickEdgeSetView(EViewDirection ViewDirection) { _viewDirection = ViewDirection; _OnClickPrimitive(_selectedPrimID, false); for (int i = 0; i < 4; ++i) { if (i == (int)ViewDirection) { mUI.SetToolbarButtonHighlight(_tbbView[i], CToolkitUI.EButtonHighlight.SELECTED); } else { mUI.SetToolbarButtonHighlight(_tbbView[i], CToolkitUI.EButtonHighlight.NOTHING); } } /* * Quaternion rotation = Quaternion.AngleAxis(0.0f, Vector3.up); * if (ViewDirection == EViewDirection.VD_RIGHT) rotation = Quaternion.AngleAxis(270.0f, Vector3.up); * else if (ViewDirection == EViewDirection.VD_BACK) rotation = Quaternion.AngleAxis(180.0f, Vector3.up); * else if (ViewDirection == EViewDirection.VD_LEFT) rotation = Quaternion.AngleAxis(90.0f, Vector3.up); * _modelGob.transform.rotation = rotation; */ GameObject.Destroy(_modelGob); _modelGob = _vectorModel.CreateGameObject(ViewDirection); _modelGob.transform.SetParent(_sceneGraph.transform); _modelGob.GetComponent <MeshRenderer>().material.SetColor("_FloorColor", _floorColour); _camState = CGame.CameraManager.GetCamState(); if (_camState.mViewMode == ECameraViewMode.CVM_GAME) { _camState.SetViewGame(ViewDirection); CGame.CameraManager.SetCamState(_camState); } }
public Mesh GetSharedMesh(EViewDirection ViewDirection) { return(_mesh[(int)ViewDirection]); }
public GameObject CreateVisuals(EViewDirection ViewDirection) { GameObject gob = new GameObject(); // TODO: Take the overall view direction, and work out the individual model view directions. Material sharedMat = (Material)GameObject.Instantiate(CGame.WorldResources.VectorMat); if (mItemType == EItemType.DESK) { _CreatePrimaryModel(gob, sharedMat); _CreateSecondaryModel(gob, sharedMat); /* * CModelAsset paperModel = CGame.AssetManager.GetAsset<CModelAsset>("default_contract_paper"); * * GameObject paper = paperModel.mVectorModel.CreateGameObject(EViewDirection.VD_FRONT); * paper.transform.SetParent(gob.transform); * paper.transform.localPosition = mPaperInPosition; * paper.transform.localRotation = Quaternion.Euler(mPaperInRotation); * * paper = paperModel.mVectorModel.CreateGameObject(EViewDirection.VD_FRONT); * paper.transform.SetParent(gob.transform); * paper.transform.localPosition = mPaperOutPosition; * paper.transform.localRotation = Quaternion.Euler(mPaperOutRotation); */ } else if (mItemType == EItemType.DECO) { _CreatePrimaryModel(gob, sharedMat); } else if (mItemType == EItemType.SAFE) { _CreatePrimaryModel(gob, sharedMat); } else if (mItemType == EItemType.FOOD) { _CreatePrimaryModel(gob, sharedMat); } else if (mItemType == EItemType.REST) { _CreatePrimaryModel(gob, sharedMat); } else if (mItemType == EItemType.START) { _CreatePrimaryModel(gob, sharedMat); if (mSMAsset != null) { GameObject doorGob = mSMAsset.mVectorModel.CreateGameObject(sharedMat); doorGob.transform.SetParent(gob.transform); doorGob.transform.localPosition = new Vector3(0, 0, 1.001f); doorGob.transform.localRotation = Quaternion.Euler(0, 0, 0); doorGob = mSMAsset.mVectorModel.CreateGameObject(sharedMat); doorGob.transform.SetParent(gob.transform); doorGob.transform.localPosition = new Vector3(2, 0, 1.001f); doorGob.transform.localRotation = Quaternion.Euler(0, 180, 0); } else { Debug.LogError("Start Item Asset needs a door model!"); } } else if (mItemType == EItemType.DOOR) { _CreatePrimaryModel(gob, sharedMat); } else if (mItemType == EItemType.CAMERA) { _CreatePrimaryModel(gob, sharedMat); } gob.AddComponent <Item>().Init(sharedMat); return(gob); }
public override void Deserialize(BinaryReader R) { base.Deserialize(R); int version = R.ReadInt32(); mVersion = version; if (version == 11) { mItemType = (EItemType)R.ReadInt32(); mFriendlyName = R.ReadString(); mFlavourText = R.ReadString(); mWidth = R.ReadInt32(); mLength = R.ReadInt32(); mTiles = new STile[mWidth * 2, mLength * 2]; for (int iX = 0; iX < mWidth * 2; ++iX) { for (int iY = 0; iY < mLength * 2; ++iY) { mTiles[iX, iY].mSolid = R.ReadBoolean(); } } mDurability = R.ReadInt32(); mCost = R.ReadInt32(); mValue = R.ReadSingle(); mStress = R.ReadSingle(); mAreaOfEffect = R.ReadSingle(); mSheetsInMax = R.ReadInt32(); mSheetsOutMax = R.ReadInt32(); string modelName = R.ReadString(); if (modelName != "") { mPMAsset = CGame.AssetManager.GetAsset <CModelAsset>(modelName); } mPMPosition = CUtility.ReadVec3(R); mPMRotation = CUtility.ReadVec3(R); modelName = R.ReadString(); if (modelName != "") { mSMAsset = CGame.AssetManager.GetAsset <CModelAsset>(modelName); } mSMPosition = CUtility.ReadVec3(R); mSMRotation = CUtility.ReadVec3(R); int usageSlotCount = R.ReadInt32(); mUsageSlots.Clear(); for (int i = 0; i < usageSlotCount; ++i) { CUsageSlot s = new CUsageSlot(); s.mEntryPosition = CUtility.ReadVec3(R); s.mEntryRotation = CUtility.ReadVec3(R); s.mEntrySize = CUtility.ReadVec3(R); s.mUsePosition = CUtility.ReadVec3(R); s.mUseRotation = CUtility.ReadVec3(R); mUsageSlots.Add(s); } // Desk mPaperInPosition = CUtility.ReadVec3(R); mPaperInRotation = CUtility.ReadVec3(R); mPaperOutPosition = CUtility.ReadVec3(R); mPaperOutRotation = CUtility.ReadVec3(R); // Icon mIconCameraPostion = CUtility.ReadVec3(R); mIconViewDirection = (EViewDirection)R.ReadInt32(); } else { Debug.LogError("Can't load item asset '" + mName + "' with version " + version); } }