public void Notify(WerewolfCommand command, Object p_target, params object[] p_data) { WerewolfController[] controller_list = GetAllControllers(); foreach (WerewolfController c in controller_list) { c.OnNotification(command, p_target, p_data); } }
private void Awake() { cmd = new WerewolfCommand(); loginView = FindObjectOfType <Login>().gameObject; mainMenu = FindObjectOfType <MainMenu>().gameObject; roleView = FindObjectOfType <RoleView>().gameObject; gamePlayView = FindObjectOfType <MainGame>().gameObject; cam = Camera.main; ChangeCamToLogin(); }
public void PerFormedActionRequested(long targetId) { if (targetId == MainApp.model.Player.id) { //can't performed on self!!! //some redish animation Debug.Log("Can't performed action on self"); return; } else if (currentActionChosen != 0) { cmd = new WerewolfCommand(); switch (currentActionChosen) { case (long)Action.AllAction.DayVote: // performed some animation? cmd.Action = WerewolfCommand.CommandEnum.Action; MainApp.Notify(cmd, MainApp.model, currentActionChosen, targetId); break; case (long)Action.AllAction.NightVote: if (MainApp.model.Player.role.type == RoleType.Wolf) { //invalid action //some redish animation Debug.Log("can't nightvote on werwolf"); } else { cmd.Action = WerewolfCommand.CommandEnum.Action; } break; default: //do some action animation cmd.Action = WerewolfCommand.CommandEnum.Action; MainApp.Notify(cmd, MainApp.model, currentActionChosen, targetId); break; } Debug.Log("performed action: " + currentActionChosen + "on target: " + targetId); MainApp.Notify(cmd, MainApp.model, currentActionChosen, targetId); } }
public void OnNotification(WerewolfCommand cmd, Object p_target, params object[] p_data) { switch (cmd.Action) { case WerewolfCommand.CommandEnum.SignUp: MainApp.model.PlayerSignUp((string)p_data[0], (string)p_data[1]); break; case WerewolfCommand.CommandEnum.LogIn: MainApp.model.LoginPlayer((string)p_data[0], (string)p_data[1]); break; case WerewolfCommand.CommandEnum.SignOut: MainApp.model.LogoutPlayer(); break; case WerewolfCommand.CommandEnum.JoinGame: MainApp.model.JoinGame(); break; case WerewolfCommand.CommandEnum.RequestUpdate: MainApp.model.UpdateGamplay(); break; case WerewolfCommand.CommandEnum.LeaveGame: MainApp.model.PlayerLeaveGame(); break; case WerewolfCommand.CommandEnum.Action: MainApp.model.PerformAction((long)p_data[0], (long)p_data[1]); break; case WerewolfCommand.CommandEnum.GetRoleInformation: MainApp.model.GetAllRole(); break; case WerewolfCommand.CommandEnum.ChangeServer: MainApp.model.ChangeBaseUrl((int)p_data[0]); break; } }