public void UpdatedMaterial(BodyControllerBase _controllerBase) { MeshRenderer renderer; for (int i = 0; i < _controllerBase.AixObj.Count; i++) { if (_controllerBase.AixObj[i] == null || _controllerBase.AixObj[i].ModelObj == null) { continue; } if (!_controllerBase.AixObj[i].ModelObj.TryGetComponent <MeshRenderer>(out renderer)) { continue; } if (_controllerBase.AixObj[i].ModelObj.CompareTag("Normal")) { renderer.material = normal; } else if (_controllerBase.AixObj[i].ModelObj.CompareTag("Flow")) { renderer.material = flow; } else if (_controllerBase.AixObj[i].ModelObj.CompareTag("Reset")) { renderer.material = reset; } else { renderer.material = defaultM; } } SkinnedMeshRenderer skrenderer; for (int i = 0; i < _controllerBase.ShadowAixObj.Count; i++) { if (_controllerBase.ShadowAixObj[i] == null || _controllerBase.ShadowAixObj[i].ModelObj == null) { continue; } if (!_controllerBase.ShadowAixObj[i].ModelObj.TryGetComponent <SkinnedMeshRenderer>(out skrenderer)) { continue; } skrenderer.material = none; } }
public void Init() { //指定游戏以640x960的分辨率打开游戏 Screen.SetResolution(1920, 1080, true); InputController.GetInstance().IsAwakeStart = true; input = InputController.GetInstance(); bodyController = bodyControllerTrans != null?bodyControllerTrans.GetComponent <BodyController>() : null; if (bodyController != null) { rotateTransParent = bodyController.RotateTrans; resetTransParent = bodyController.transform; } beClickAnim = AnimationMgr.GetInstance().GetAnimationID("beClick"); isGameStart = false; RemoveListener(); }
/// <summary> /// 添加按钮数据 /// </summary> private void UpdateData() { serObj.Update(); if (controllerBase == null) { controllerBase = (BodyControllerBase)serObj.targetObject; } if (!controllerBase) { return; } EditorGUILayout.BeginVertical(); GUILayout.Space(10); isButtonData = EditorGUILayout.Foldout(isButtonData, "控制按钮", true, baseDataStyle); if (isButtonData) { //GUI.backgroundColor = new Color(0.8f, 0.1f, 0.1f, 0.8f); GUI.backgroundColor = new Color(0.1f, 0.5f, 0.8f, 0.8f); if (GUILayout.Button("创建本体和影子") && controllerBase) { //Undo.RecordObject(target, "Create Body And Shadow"); controllerBase.InitBodyAndShadow(); } //GUI.backgroundColor = new Color(0.1f, 0.8f, 0.1f, 0.8f); if (GUILayout.Button("创建本体") && controllerBase) { //Undo.RegisterFullObjectHierarchyUndo(target, "Create Body"); controllerBase.InitAixObjs(); } //GUI.backgroundColor = new Color(0.1f, 0.5f, 0.8f, 0.8f); if (GUILayout.Button("创建影子") && controllerBase) { controllerBase.InitAixShadowObj(); //Undo.RecordObject(target, "Create Shadow"); } GUI.backgroundColor = new Color(0.8f, 0.1f, 0.1f, 0.8f); if (GUILayout.Button("清除全部本体和影子") && controllerBase) { controllerBase.ClearAllAixObj(); // Undo.RecordObject(target, "Delete Body And Shadow"); } if (GUILayout.Button("清除全部影子") && controllerBase) { controllerBase.ClearAllAixShadowObj(); // Undo.RecordObject(target, "Delete All Shadow"); } if (normal == null || flow == null || reset == null || none == null || defaultM == null) { normal = AssetDatabase.LoadAssetAtPath <Material>("Assets/Res/Materials/A_normal.mat"); flow = AssetDatabase.LoadAssetAtPath <Material>("Assets/Res/Materials/A_flow.mat"); reset = AssetDatabase.LoadAssetAtPath <Material>("Assets/Res/Materials/A_Reset.mat"); none = AssetDatabase.LoadAssetAtPath <Material>("Assets/Res/Materials/A_Shader Forge_None.mat"); defaultM = AssetDatabase.LoadAssetAtPath <Material>("Assets/LeanClass/AP1/LV5/Material/Unlit_Blinn_PhongShader.mat"); } if (GUILayout.Button("更新材质") && controllerBase) { if (normal == null || flow == null || reset == null || none == null || defaultM == null) { return; } UpdatedMaterial(controllerBase); } } EditorGUILayout.EndVertical(); }