// Use this for initialization void Awake() { if (instance == null) { instance = this; } else { return; } MapGenerator mapGenerator = GetComponent <MapGenerator>(); int gameLv1 = MainData.Instance().gameLv1; int gameLv2 = MainData.Instance().gameLv2; mapGenerator.Generate(gameLv1, gameLv2); ballNum = mapGenerator.GoalNum; goals = GameObject.FindGameObjectsWithTag("Goal"); balls = GameObject.FindGameObjectsWithTag("Ball"); walls = GameObject.FindGameObjectsWithTag("Wall"); if (ClearTime == 0f) { ClearTime = 1f; } _ui = FindObjectOfType <GameUIManager>(); AudioManager.Instance().GameStart(); }
void Update() { if (instance != this) { return; } if (isGyroAble && !isPaused) { Delta = ReducedAcceleration(); _ui.UpdateTexts(Delta.x, Delta.y, Delta.z); } else if (!isPaused) { Delta = DebugController(); _ui.UpdateTexts(Delta.x, Delta.y, Delta.z); } AudioManager.Instance().BallRolling(Delta.magnitude); if (Input.GetKey(KeyCode.Escape) && esctime <= 0f) { GameRuleManager.Instance().EscapePushed(); esctime = 0.5f; } time += Time.deltaTime; esctime -= Time.deltaTime; }
public void Update(TimeSpan delta) { if (Host != null) { _hostUpdateTimer += delta; if (_hostUpdateTimer >= _hostUpdateTime) { var lowest = GetPlayerWithLowestPing(); if (Host != lowest) { var diff = Math.Abs(Host.Session.UnreliablePing - lowest.Session.UnreliablePing); if (diff >= PingDifferenceForChange) { ChangeHost(lowest); } } _hostUpdateTimer = TimeSpan.Zero; } } if (IsChangingRules) { _changingRulesTimer += delta; if (_changingRulesTimer >= _changingRulesTime) { GameRuleManager.MapInfo = GameServer.Instance.ResourceCache.GetMaps()[Options.MatchKey.Map]; GameRuleManager.GameRule = RoomManager.GameRuleFactory.Get(Options.MatchKey.GameRule, this); Broadcast(new SChangeRuleAckMessage(Options.Map <RoomCreationOptions, ChangeRuleDto>())); IsChangingRules = false; } } GameRuleManager.Update(delta); }
// Start is called before the first frame update void Start() { _instance = this; // 현재 플레이어의 팀 정보 teamInfo = GameManager._instance.GetTeamInfo(); // 각 팀 스타팅 위치를 담음 startingList.Add(redPosition); startingList.Add(bluePosition); // 캐릭터 생성 CreatePlayer(); // 인스펙터에서 설정하지 않았다면 if (victoryTextObject == null) { // victoryText 를 찾음 victoryTextObject = GameObject.Find("ExitGameText"); // 존재하지 않는다면 if (victoryTextObject == null) { // 로그에러 출력 Debug.LogError("Have not (victory Text) gameObject"); } } // 게임 종료시 보여줄 Text 숨김 victoryTextObject.SetActive(false); }
// one time run void Start() { aIController = GetComponent <UnityEngine.AI.NavMeshAgent>(); aIController.speed = speed; //set speed GameRuleManager = GameObject.FindGameObjectWithTag("GameManager").GetComponent <GameRuleManager>(); //find and set main manager cam = Camera.main; }
void Start() { if (instance == null) { instance = this; } else { return; } XText = transform.Find("XRateText").GetComponent <Text>(); YText = transform.Find("YRateText").GetComponent <Text>(); ZText = transform.Find("ZRateText").GetComponent <Text>(); canvas = this.gameObject; Random.InitState(65819200); foreach (GameObject obj in GameRuleManager.Instance().GetBalls()) { CreateHanger(obj, BallImage, new Vector3(0.6f, 0.6f, 0.6f)); } foreach (GameObject obj in GameRuleManager.Instance().GetGoals()) { CreateHanger(obj, GoalImage, new Vector3(1, 1.5f, 1)); } foreach (GameObject obj in GameRuleManager.Instance().GetWalls()) { CreateHanger(obj, WallImage[Random.Range(0, WallImage.Length)], new Vector3(0.75f, 0.75f, 0.75f)); } }
void LateStart() { _GameRuleManager = GameObject.FindGameObjectWithTag("GameManager").GetComponent <GameRuleManager>(); //find and set main manager aIController = GetComponent <UnityEngine.AI.NavMeshAgent>(); cam = Camera.main; UpdatePlaceholders(); UpdateSquadMembers(); }
// Start is called before the first frame update void Start() { // 퀵등록 script = this; // 초기 셋팅 AreaChange(0); SectionChange(0); cycleMaxSlider.value = GameRule.cycleMax; playerCountSlider.value = GameRule.playerCount; }
private void Awake() { if (instance) { Destroy(gameObject); } else { instance = this; } }
public void Update(TimeSpan delta) { try { if (!(RoomManager?.Contains(this) ?? false)) { return; } if (Players.Count == 0 || !TeamManager.Players.Any()) { if (Master.Room == this && !Master.IsLoggedIn()) { RoomManager?.Remove(this); } return; } if (!(Master?.IsLoggedIn() ?? true) || Master?.Room != this) { ChangeMasterIfNeeded(GetPlayerWithLowestPing(), true); ChangeHostIfNeeded(GetPlayerWithLowestPing(), true); } if (IsChangingRules) { _changingRulesTimer += delta; if (_changingRulesTimer >= _changingRulesTime && IsChangingRulesCooldown != true) { RoomManager.Channel.BroadcastCencored(new RoomChangeRoomInfoAck2Message(GetRoomInfo())); Broadcast(new RoomChangeRuleAckMessage(Options.Map <RoomCreationOptions, ChangeRuleDto>())); Broadcast(new GameChangeStateAckMessage(GameState)); IsChangingRulesCooldown = true; } if (_changingRulesTimer >= _changingRulesTime.Add(TimeSpan.FromSeconds(3))) { IsChangingRules = false; IsChangingRulesCooldown = false; } } } catch (Exception e) { Logger.Error(e.ToString()); } GameRuleManager.Update(delta); }
public Room(RoomManager roomManager, uint id, RoomCreationOptions options, P2PGroup group) { RoomManager = roomManager; Id = id; Options = options; TimeCreated = DateTime.Now; TeamManager = new TeamManager(this); GameRuleManager = new GameRuleManager(this); Group = group; TeamManager.TeamChanged += TeamManager_TeamChanged; GameRuleManager.GameRuleChanged += GameRuleManager_OnGameRuleChanged; GameRuleManager.MapInfo = GameServer.Instance.ResourceCache.GetMaps()[options.MatchKey.Map]; GameRuleManager.GameRule = RoomManager.GameRuleFactory.Get(Options.MatchKey.GameRule, this); }
void LateStart() { _rb = GetComponent <Rigidbody>(); _parentRb = GetComponentInParent <Rigidbody>(); _GameRuleManager = GameObject.FindGameObjectWithTag("GameManager").GetComponent <GameRuleManager>(); //find and set main manager cam = Camera.main; startingCamRotation = transform.rotation; startingPlayerRotation = transform.parent.rotation; camTargetRotation = transform.rotation; playerTargetRotation = transform.parent.rotation; CheckForSquads(); }
public void Update(TimeSpan delta) { if (Players.Count == 0) { return; } //if (Host != null) //{ // _hostUpdateTimer += delta; // if (_hostUpdateTimer >= _hostUpdateTime) // { // var lowest = GetPlayerWithLowestPing(); // if (Host != lowest) // { // var diff = Math.Abs(Host.Session.UnreliablePing - lowest.Session.UnreliablePing); // if (diff >= PingDifferenceForChange) // ChangeHostIfNeeded(lowest, true); // } // // _hostUpdateTimer = TimeSpan.Zero; // } //} if (IsChangingRules) { _changingRulesTimer += delta; if (_changingRulesTimer >= _changingRulesTime && IsChangingRulesCooldown != true) { GameRuleManager.MapInfo = GameServer.Instance.ResourceCache.GetMaps()[Options.MapID]; GameRuleManager.GameRule = RoomManager.GameRuleFactory.Get(Options.GameRule, this); Broadcast(new RoomChangeRuleAckMessage(Options.Map <RoomCreationOptions, ChangeRuleDto>())); Broadcast(new RoomChangeRuleFailAckMessage { Result = 0 }); BroadcastBriefing(); IsChangingRulesCooldown = true; } if (_changingRulesTimer >= _changingRulesTime.Add(TimeSpan.FromSeconds(3))) { IsChangingRules = false; IsChangingRulesCooldown = false; } } GameRuleManager.Update(delta); }
void OnTriggerExit(Collider collider) { if (collider.transform.name.Contains("Ball")) { if (!isChecked) { return; } GameRuleManager.Instance().GoalUnChecked(gameObject); //Destroy(gameObject); GetComponent <MeshFilter>().mesh = Capsule; GetComponent <CapsuleCollider>().enabled = true; isChecked = false; AudioManager.Instance().GoalExited(); } }
private void Start() { if (ruleManager == null) { ruleManager = this; if (GameType == GameType.CLASSIC) { Thread.Sleep(2000); int c = 0; int i = 0; int j = 0; foreach (Unit unit in map.playerUnits) { if (unit.GetType() == typeof(King)) { i++; } } foreach (Unit unit in map.enemyUnits) { if (unit.GetType() == typeof(King)) { j++; } } if (i != 1 && j != 1) { c++; } else if (i != 1 && j != 1 && c == 1000) { Debug.LogError("There are not two kings present"); } } DontDestroyOnLoad(ruleManager); } else { Destroy(this); } }
public Room(RoomManager roomManager, uint id, RoomCreationOptions options, P2PGroup group, Player creator) { RoomManager = roomManager; Id = id; Options = options; TimeCreated = DateTime.Now; TeamManager = new TeamManager(this); GameRuleManager = new GameRuleManager(this); VoteKickMgr = new VoteKickManager(this); Group = group; Creator = creator; Master = creator; TeamManager.TeamChanged += TeamManager_TeamChanged; GameRuleManager.GameRuleChanged += GameRuleManager_OnGameRuleChanged; GameRuleManager.MapInfo = GameServer.Instance.ResourceCache.GetMaps()[options.MapId]; GameRuleManager.GameRule = RoomManager.GameRuleFactory.Get(Options.GameRule, this); }
public void Update(AccurateDelta delta) { if (Disposed) { return; } try { if (!Players.Any()) { RoomManager.Remove(this); return; } if (!(Master?.IsLoggedIn() ?? true) || Master?.Room != this) { ChangeMasterIfNeeded(GetPlayerWithLowestPing(), true); ChangeHostIfNeeded(GetPlayerWithLowestPing(), true); } if (!TeamManager.NoSpectatorPlayers.Any() && TeamManager.Players.Any()) { foreach (var spectator in TeamManager.Spectators) { TeamManager.ChangeMode(spectator, PlayerGameMode.Normal); } } if (IsChangingRules) { _changingRulesTimer += delta.delta; if (_changingRulesTimer >= _changingRulesTime && !IsChangingRulesCooldown) { RoomManager.Channel.BroadcastCencored(new RoomChangeRoomInfoAck2Message(GetRoomInfo())); Broadcast(new RoomChangeRuleAckMessage(Options.Map <RoomCreationOptions, ChangeRuleDto2>())); Broadcast(new GameChangeStateAckMessage(GameState)); IsChangingRulesCooldown = true; } foreach (var player in _players.Values) { player.RoomInfo.LastMapID = (byte)Options.MapId; } if (_changingRulesTimer >= _changingRulesTime.Add(TimeSpan.FromSeconds(3))) { IsChangingRules = false; IsChangingRulesCooldown = false; } } else { foreach (var player in Players.Values.Where(x => !TeamManager.Players.Contains(x))) { TeamManager.Join(player); } } if (VoteKickMgr.State == VoteKickManager.KickState.Execution) { _voteKicktimer += delta.delta; if (_voteKicktimer < _voteKickTime) { VoteKickMgr.Update(); } else { _voteKicktimer = TimeSpan.Zero; VoteKickMgr.Evaluate(); } } } catch (Exception e) { Logger.Error(e.ToString()); } GameRuleManager?.Update(delta); }
private void Awake() { I = this; }