/// <summary>
 /// 复制坦克部件管理器
 /// </summary>
 /// <param name="copySrc">复制源</param>
 public void CopyFrom(TankAssembleManager copySrc)
 {
     head        = copySrc.head;
     body        = copySrc.body;
     leftWheel   = copySrc.leftWheel;
     cap         = copySrc.cap;
     face        = copySrc.face;
     bodyForward = copySrc.bodyForward;
     bodyBack    = copySrc.bodyBack;
 }
 /// <summary>
 /// 获取所有变量
 /// </summary>
 /// <returns></returns>
 private bool GetAllVariable()
 {
     if (createPrefab)
     {
         generatePath = EditorGUILayout.TextField("Generate Assets Path", generatePath);
         valid       &= string.IsNullOrEmpty(generatePath);
     }
     tankAssemble = EditorGUILayout.ObjectField("TankAssmeble", tankAssemble, typeof(TankAssembleManager), false) as TankAssembleManager;
     return(tankAssemble);
 }
Esempio n. 3
0
 /// <summary>
 /// 添加新的坦克组装
 /// </summary>
 /// <param name="tankAssemble">目标坦克组装</param>
 /// <returns>返回新的坦克</returns>
 public GameObject AddNewTank(TankAssembleManager tankAssemble)
 {
     tankAssemble.tankName = "CustomTank" + Count;
     tankAssembleList.Add(tankAssemble);
     newTank = tankAssemble.CreateTank(transform);
     customTankList.Add(newTank);
     SetupTankPos(newTank.transform, Count - 1);
     AssetDatabase.CreateAsset(tankAssemble, GetTankAssembleAssetPath(Count - 1));
     return(newTank);
 }
Esempio n. 4
0
 /// <summary>
 /// 清除临时坦克对象
 /// </summary>
 private void CleanTemTankObj(bool alsoAssemble = true)
 {
     if (temTankObject != null)
     {
         Destroy(temTankObject);
         temTankObject = null;
     }
     if (alsoAssemble)
     {
         temTankAssemble = null;
     }
 }
 /// <summary>
 /// 创建新的坦克
 /// </summary>
 public void CreateNewTank()
 {
     if (allCustomTank.Count >= allCustomTank.maxSize)
     {
         toast.ShowToast("坦克库已满。");
         return;
     }
     newTankAssemble = ScriptableObject.CreateInstance <TankAssembleManager>();
     newTankAssemble.CopyFrom(defaultTankAssemble);
     allCustomTank.AddNewTank(newTankAssemble);
     allCustomTankPreview.CatchTankTexture(allCustomTank.Count - 1);
     allCustomTank.SelectCurrentTank(allCustomTank.Count - 1);
     allCustomTankPreview.OnTankPreviewClicked();
     createdSuccessedEvent.Invoke();
     //OnTankSelected();
 }
Esempio n. 6
0
 /// <summary>
 /// 重置当前临时坦克组装
 /// </summary>
 private void ResetTemTankAssemble()
 {
     temTankAssemble = ScriptableObject.CreateInstance <TankAssembleManager>();
     temTankAssemble.CopyFrom(CurrentTankAssemble);
     temTankAssemble.name = "TemporaryPreviewTank";
 }