private NestElement InstantiateIShapeRoad(EnumRoadHVDirection direction) { var roadData = new IShapeRoadData(direction); // roadData.IsUnderConstruction = true; return(NestSystem.Instance.InstantiateNestElement(roadData)); }
public void PushDown() { position = Input.mousePosition; position.z = 10f; screenToWorldPointPosition = Camera.main.ScreenToWorldPoint(position); //Listでシーン内にあるNestElementをすべて取得 var list = NestSystem.Instance.NestElements; //貯蓄庫と女王の部屋の数を数えます for (int i = 0; i < list.Count; i++) { if (list[i].GetType().Name == "StoreRoom") { Chochikukonum++; } else if (list[i].GetType().Name == "QueenRoom")//仮の名前 { QweenRoomNum++; } } //出現させるNestElementのデータを保存 NestElementData data; if (NestName == "IShapeVertical") { data = new IShapeRoadData(EnumRoadHVDirection.Vertical) { IsUnderConstruction = true }; } else if (NestName == "IShapeHorizontal") { data = new IShapeRoadData(EnumRoadHVDirection.Horizontal) { IsUnderConstruction = true }; } else if (NestName == "LShapeBottom") { data = new LShapeRoadData(EnumRoadDirection.Bottom) { IsUnderConstruction = true }; } else if (NestName == "LShapeRight") { data = new LShapeRoadData(EnumRoadDirection.Right) { IsUnderConstruction = true }; } else if (NestName == "LShapeTop") { data = new LShapeRoadData(EnumRoadDirection.Top) { IsUnderConstruction = true }; } else if (NestName == "LShapeLeft") { data = new LShapeRoadData(EnumRoadDirection.Left) { IsUnderConstruction = true }; } else if (NestName == "TShapeBottom") { data = new TShapeRoadData(EnumRoadDirection.Bottom) { IsUnderConstruction = true }; } else if (NestName == "TShapeRight") { data = new TShapeRoadData(EnumRoadDirection.Right) { IsUnderConstruction = true }; } else if (NestName == "TShapeTop") { data = new TShapeRoadData(EnumRoadDirection.Top) { IsUnderConstruction = true }; } else if (NestName == "TShapeLeft") { data = new TShapeRoadData(EnumRoadDirection.Left) { IsUnderConstruction = true }; } else if (NestName == "Chochikubeya" && Chochikukonum == 0) { //data = new ChochikubeyaData(); data = new StoreRoomData() { IsUnderConstruction = true }; } else if (NestName == "QueenRoom" && QweenRoomNum == 0) { //data = new QweenAntRoomData(); data = new QueenRoomData() { IsUnderConstruction = true }; } else if (NestName == "Cross") { data = new CrossShapeRoadData() { IsUnderConstruction = true }; } else { data = new CrossShapeRoadData(); } //貯蓄庫と女王の部屋が指定されたときシーン内に巣でにそれらの部屋があるなら出せない if ((NestName == "Chochikubeya" && Chochikukonum != 0) || (NestName == "QueenRoom" && QweenRoomNum != 0)) { GetComponent <EventTrigger>().triggers.Clear(); } else { nestelement = NestSystem.Instance.InstantiateNestElement(data, false, false); nestelement.transform.position = screenToWorldPointPosition; (nestelement as NestBuildableElement).SetImage(EnumNestImage.Spector); } }
public void PushDown() { position = Input.mousePosition; position.z = 10f; screenToWorldPointPosition = Camera.main.ScreenToWorldPoint(position); //Listでシーン内にあるNestElementをすべて取得 var list = NestSystem.Instance.NestElements; //貯蓄庫と女王の部屋の数を数えます for (int i = 0; i < list.Count; i++) { if (list[i].gameObject.name == "Chochikubeya(Clone)") { Chochikukonum++; } else if (list[i].gameObject.name == "QweenAntRoom(Clone)")//仮の名前 { QweenRoomNum++; } } //出現させるNestElementのデータを保存 NestElementData data; if (NestName == "IShapeVertical") { data = new IShapeRoadData(EnumRoadHVDirection.Vertical); } else if (NestName == "IShapeHorizontal") { data = new IShapeRoadData(EnumRoadHVDirection.Horizontal); } else if (NestName == "LShapeBottom") { data = new LShapeRoadData(EnumRoadDirection.Bottom); } else if (NestName == "LShapeRight") { data = new LShapeRoadData(EnumRoadDirection.Right); } else if (NestName == "LShapeTop") { data = new LShapeRoadData(EnumRoadDirection.Top); } else if (NestName == "LShapeLeft") { data = new LShapeRoadData(EnumRoadDirection.Left); } else if (NestName == "TShapeBottom") { data = new TShapeRoadData(EnumRoadDirection.Bottom); } else if (NestName == "TShapeRight") { data = new TShapeRoadData(EnumRoadDirection.Right); } else if (NestName == "TShapeTop") { data = new TShapeRoadData(EnumRoadDirection.Top); } else if (NestName == "TShapeLeft") { data = new TShapeRoadData(EnumRoadDirection.Left); } else if (NestName == "Chochikubeya") { //data = new ChochikubeyaData(); data = new CrossShapeRoadData(); } else if (NestName == "QweenAntRoom") { //data = new QweenAntRoomData(); data = new CrossShapeRoadData(); } else if (NestName == "Cross") { data = new CrossShapeRoadData(); } else { data = new CrossShapeRoadData(); } //貯蓄庫と女王の部屋が指定されたときシーン内に巣でにそれらの部屋があるなら出せない if ((NestName == "Chochikubeya" && Chochikukonum != 0) || (NestName == "QweenAntRoom" && QweenRoomNum != 0)) { } else { nestelement = NestSystem.Instance.InstantiateNestElement(data); nestelement.transform.position = screenToWorldPointPosition; } }
public static void LoadDefaultSaveUnitToCurrent(DefaultEnvironmentData defaultEnvironment = null) { var su = SaveUnit.GetEmptySaveUnit(); //初期環境のセットアップ if (defaultEnvironment != null) { var structure = su.s_GameContext.s_NestData.Structure; structure.NestElements.AddRange(defaultEnvironment.GeneralPathRoads); //エサ備蓄 su.s_GameContext.s_NestData.StoredFood = defaultEnvironment.StoredFood; //道 var initialRoad = new IShapeRoadData() { Position = defaultEnvironment.InitialRoadPosition, Direction = EnumRoadHVDirection.Vertical }; structure.NestElements.Add(initialRoad); NestSystem.ParseNodePath(defaultEnvironment.InitialRoadBindNodePath, out string guid, out string name); structure.ElementEdges.Add(new NestPathElementEdgeData() { ElementGuidA = initialRoad.Guid, ElementGuidB = guid, NodeNameA = defaultEnvironment.InitialRoadNodeName, NodeNameB = name }); //砂糖山 var sugarStack = new MtSugarData() { Position = defaultEnvironment.SugarStackPosition }; structure.NestElements.Add(sugarStack); NestSystem.ParseNodePath(defaultEnvironment.SugarStackBindNodePath, out guid, out name); structure.ElementEdges.Add(new NestPathElementEdgeData() { ElementGuidA = sugarStack.Guid, ElementGuidB = guid, NodeNameA = defaultEnvironment.SugarStackNodeName, NodeNameB = name }); //アリ var ants = su.s_GameContext.s_NestData.Ants; for (int i = 0; i < defaultEnvironment.BuilderAntCount; i++) { ants.Add(new BuilderAntData()); } for (int i = 0; i < defaultEnvironment.ErgateAntCount; i++) { ants.Add(new ErgateAntData()); } for (int i = 0; i < defaultEnvironment.UnemployedAntCount; i++) { ants.Add(new UnemployedAntData()); } } su.SetAsCurrent(); }
private NestElement InstantiateIShapeRoad(EnumRoadHVDirection direction) { var roadData = new IShapeRoadData(direction); return(NestSystem.Instance.InstantiateNestElement(roadData)); }