public void LoadActivityButton(NPCActivity activity, int i) { switch (activity.activityType) { case NPCActivityType.Arena: break; case NPCActivityType.Minigame: break; case NPCActivityType.Default: break; case NPCActivityType.Shop: break; case NPCActivityType.Service: break; case NPCActivityType.Quest: break; case NPCActivityType.Teleporter: //display teleporter UI break; } GameObject atlas = Resources.Load(activity.npcIconAtlas) as GameObject; icon.atlas = atlas.GetComponent<UIAtlas>(); icon.spriteName = activity.npcIconSprite; textLabel.text = activity.npcButtonText; index = i; }
public static void DisplayActivityComponents(NPCActivity activity, MainWindowEditor Data) { EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel("Button Text"); activity.npcButtonText = EditorGUILayout.TextField(activity.npcButtonText, GUILayout.Width(500)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel("NPC Button Atlas Path"); activity.npcIconAtlas = EditorGUILayout.TextField(activity.npcIconAtlas, GUILayout.Width(500)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel("NPC Button Sprite Name"); activity.npcIconSprite = EditorGUILayout.TextField(activity.npcIconSprite, GUILayout.Width(500)); EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); activity.conversationID = EditorUtils.IntPopup(activity.conversationID, Data.conversationEditor.items, "conversationID: ", FieldTypeEnum.Middle); /*for (int i = 0; i < activity.conversationIDs.Count; i++) { EditorGUILayout.BeginHorizontal(); activity.conversationIDs[i] = EditorUtils.IntPopup(activity.conversationIDs[i], Data.conversationEditor.items, "conversationID: " + i, 90, FieldTypeEnum.Middle); if(GUILayout.Button("Remove conversation id", GUILayout.Width(400))) { activity.conversationIDs.Remove(activity.conversationIDs[i]); break; } EditorGUILayout.EndHorizontal(); } if(GUILayout.Button("Add Conversation ID", GUILayout.Width(400))) { activity.conversationIDs.Add(1); }*/ ConditionsUtils.Conditions(activity.Conditions, Data); EditorUtils.Separator(); }
public void OnActivityButtonPressed(int index) { activeActivity = activities[index]; PlayerManager.Instance.activeActivity = activeActivity; switch(activeActivity.activityType) { case NPCActivityType.Shop: DisplayShop((Shop)activeActivity); break; case NPCActivityType.Arena: DisplayArena((NPCArena)activeActivity); break; case NPCActivityType.Quest: DisplayQuest((NPCQuest)activeActivity); break; case NPCActivityType.Construction: DisplayConstruction((RPGConstruction)activeActivity); break; case NPCActivityType.Minigame: DisplayMinigame(PlayerManager.Instance.ActiveWorld.MinigameByID(activeActivity.ID)); break; case NPCActivityType.Service: if(activeActivity.ID == 1) { DisplayBank(); } if(activeActivity.ID == 2) { DisplayCombobulator(); } if(activeActivity.ID == 3) { DisplayTeleporter(); } break; } /*if(activeActivity.conversation != null) conversationGUI.DisplayConversation(activeActivity.conversation);*/ //load activity's conversation }
//public PhotonView myPhotonView; void Start() { if(trigger) { triggerCollider = trigger.GetComponent<Collider>(); triggerCollider.enabled = false; trigger.transform.localScale = startScale; } character = GeneralData.GetNPCByID(ID); foreach(NPCActivityData ad in character.activities) { if(ad.activityType == NPCActivityType.Minigame) { NPCMinigame minigame = Storage.LoadById<NPCMinigame>(ad.activityID, new NPCMinigame()); Debug.Log(minigame.activityType.ToString()); activities.Add(minigame); GameObject.FindGameObjectWithTag("WorldManager").GetComponent<WorldManager>().AddMinigame(minigame); Debug.Log("added minigame"); } else if(ad.activityType == NPCActivityType.Quest) { NPCQuest quest = Storage.LoadById<NPCQuest>(ad.activityID, new NPCQuest()); activities.Add(quest); } else if(ad.activityType == NPCActivityType.Shop) { Shop shop = Storage.LoadById<Shop>(ad.activityID, new Shop()); shop.PopulateItems(); activities.Add(shop); } else if(ad.activityType == NPCActivityType.Service) { NPCService service = Storage.LoadById<NPCService>(ad.activityID, new NPCService()); activities.Add(service); } else if(ad.activityType == NPCActivityType.Arena) { NPCArena arena = Storage.LoadById<NPCArena>(ad.activityID, new NPCArena()); arena.LoadArena(); arena.activityType = NPCActivityType.Arena; activities.Add(arena); } else if(ad.activityType == NPCActivityType.Teleporter) { NPCActivity teleporter = new NPCActivity(); teleporter.activityType = NPCActivityType.Teleporter; teleporter.Name = "Teleporter"; activities.Add(teleporter); } else if(ad.activityType == NPCActivityType.Construction) { RPGConstruction construction = Storage.LoadById<RPGConstruction>(ad.activityID, new RPGConstruction()); activities.Add(construction); } } for (int i = 0; i < activities.Count; i++) { activities[i].LoadConversation(); } GameObject.FindGameObjectWithTag("WorldManager").GetComponent<WorldManager>().AddNPC(this); }