new protected void Start() { Player = GameObject.FindGameObjectWithTag("Player"); RoomConditionGO = transform.parent.transform.parent.gameObject.GetComponent <RoomCondition>(); LaserEffect.SetActive(false); StartCoroutine(WaitPlayer()); StartCoroutine(LaserOff()); }
new private void Start() { lr = GetComponent <LineRenderer>(); Player = GameObject.FindGameObjectWithTag("Player"); RoomConditionGO = transform.parent.transform.parent.gameObject.GetComponent <RoomCondition>(); lr.startColor = new Color(1, 0, 0, 0.5f); lr.endColor = new Color(1, 0, 0, 0.5f); lr.startWidth = 0.2f; lr.endWidth = 0.2f; StartCoroutine(WaitPlayer()); }
protected void Start() { base.Start(); roomConditionGO = transform.parent.transform.parent.gameObject.GetComponent <RoomCondition>(); enemyAnim = GetComponent <Animator>(); attackCoolTime = 5.0f; attackCoolTimeCacl = attackCoolTime; playerRealizeRange = 10f; attackRange = 10f; moveSpeed = 1f; StartCoroutine(Idle()); }
private new void Start() { base.Start(); lr = GetComponent <LineRenderer>(); roomConditionGO = transform.parent.transform.parent.gameObject.GetComponent <RoomCondition>(); enemyAnim = GetComponent <Animator>(); //player = GameObject.FindGameObjectWithTag("Player"); lr.startColor = new Color(1, 0, 0, 0.5f); lr.endColor = new Color(1, 0, 0, 0.5f); lr.startWidth = 0.2f; lr.endWidth = 0.2f; attackCoolTime = 4.0f; attackCoolTimeCacl = attackCoolTime; playerRealizeRange = 10f; attackRange = 10f; moveSpeed = 1f; StartCoroutine(Idle()); //StartCoroutine(WaitPlayer()); }
private void DoCorridors(RogueLevel level) { RogueLevel.Room first = null; RogueLevel.Room second = null; var j = 0; var notAlreadyConnected = new RoomCondition(target => !first.ConnectedTo.Contains(target)); var notAlreadyInGraph = new RoomCondition(target => !target.InGraph); var firstCanConnect = new RoomCondition(target => first.CanConnectTo(target)); var randomMagic = new RoomCondition(target => DmRandom.Next(++j) == 0); var conditions = new List<RoomCondition>(); var perform = new Action<int, bool>((count, randomFirst) => { int left = count; do { if (randomFirst) { first = level.Rooms.Shuffle()[0]; } j = 0; foreach (var targetRoom in level.Rooms.Where(first.CanConnectTo)) { try { second = level.Rooms.SelectRandom( shortCircuit: true, conditions: conditions.ToArray()); } catch (System.Exception) { // No valid element, so just go on. } } // if we didn't find any room we could connect to at all, shuffle. if (j == 0) { do { first = level.Rooms.Shuffle()[0]; } while (!first.InGraph); } else { Connect(level, first, second); left--; } } while (left > 0); }); // The order matters, since we short circuit. // Always keep randomMagic at the end. conditions.Add(firstCanConnect); conditions.Add(notAlreadyInGraph); conditions.Add(randomMagic); first = level.Rooms.Shuffle()[0]; first.InGraph = true; perform(this.parameters.GetParameter<int>(ParameterNames.MaxRooms) - 1, false); conditions.Clear(); conditions.Add(firstCanConnect); conditions.Add(notAlreadyConnected); conditions.Add(randomMagic); var randomExtras = DmRandom.Next(1, 4); perform(DmRandom.Next(1, 4), true); }
new private void Start() { Player = GameObject.FindGameObjectWithTag("Player"); RoomConditionGO = transform.parent.transform.parent.gameObject.GetComponent <RoomCondition>(); StartCoroutine(WaitPlayer()); }