コード例 #1
0
        private List <FirePlace> GetAllConnectedFirePlaces(FirePlace fireplace, FirePlace origin)
        {
            var fireplaces = new List <FirePlace>();

            foreach (FirePlace fp in fireplace.GetConnectedFireplaces())
            {
                if (fp != null && fp != origin)
                {
                    fireplaces.Add(fp);
                    fireplaces.AddRange(GetAllConnectedFirePlaces(fp, fireplace));
                }
            }
            return(fireplaces);
        }
コード例 #2
0
        void OnTriggerStay2D(Collider2D col)
        {
            if (col.gameObject.layer == LayerMask.NameToLayer(Layers.PlSpot))
            {
                FirePlace connectedFireplace = col.GetComponent <FirePlace>();

                if (_fireplace.IsAccessible && connectedFireplace.IsAccessible && Vector2.Distance(col.bounds.center, _thisCol.bounds.center) < 0.3f)
                {
                    _fireplace.Connect(connectedFireplace);
                    connectedFireplace.Connect(_fireplace);
                }
                else if (_fireplace.IsAccessible == false && _fireplace.GetConnectedFireplaces().Contains(connectedFireplace) && Vector2.Distance(col.bounds.center, _thisCol.bounds.center) > 0.3f)
                {
                    _fireplace.Disconnect(connectedFireplace);
                }
            }
        }
コード例 #3
0
ファイル: FirePlace.cs プロジェクト: ddburns/fireperson
        public void Connect(FirePlace fp)
        {
            IsAccessible = false;

            if (F1 == null)
            {
                F1 = fp;
            }
            else if (F2 == null)
            {
                F2 = fp;
            }
            else if (F3 == null)
            {
                F3 = fp;
            }
            else if (F4 == null)
            {
                F4 = fp;
            }
        }
コード例 #4
0
ファイル: FirePlace.cs プロジェクト: ddburns/fireperson
        public void Disconnect(FirePlace fp)
        {
            IsAccessible = true;

            if (F1 == fp)
            {
                F1 = null;
            }
            else if (F2 == fp)
            {
                F2 = null;
            }
            else if (F3 == fp)
            {
                F3 = null;
            }
            else if (F4 == fp)
            {
                F4 = null;
            }
        }
コード例 #5
0
 void Awake()
 {
     _thisCol   = GetComponent <CircleCollider2D>();
     _fireplace = GetComponent <FirePlace>();
 }