コード例 #1
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.GetComponent <Player>())
     {
         EnterZone?.Invoke(other.gameObject);
     }
 }
コード例 #2
0
 // Use this for initialization
 void Start()
 {
     currentBouns = CALC_BONUS_STATE.ADDTREE; //임시
     RandomGenerate();
     getCubesItem();
     answerCube.transform.GetChild(0).GetComponent <TextMeshPro>().SetText(finalAnswer.ToString());
     enterZone   = transform.Find("Entrance_Zone").gameObject.GetComponent <EnterZone>();
     boomPlane   = transform.Find("BoomPlane").gameObject.GetComponent <BoomPlaneManager>();
     mainCamera  = Camera.main.GetComponent <CameraControl>();
     wallControl = transform.Find("Wall").gameObject.GetComponent <WallActive>();
     wallControl.SetActive(false);
     EnterZone = transform.Find("Entrance_Zone").gameObject;
 }
コード例 #3
0
ファイル: Manager.cs プロジェクト: AnotherEpigone/SadConsole
        private void EvaluateEntityState(Entity entity)
        {
            var state = _entityStates[entity];

            // Check if entity has moved
            if (entity.Position != state.Position)
            {
                var isZone = IsPositionZone(entity.Position, out var zone);

                //EntityMoved?.Invoke(this, new Entity.EntityMovedEventArgs(entity, state.Position));

                if (!state.IsDisabled)
                {
                    // Still in zone
                    if (state.IsInZone && isZone)
                    {
                        // Same zone -- trigger move event
                        if (state.Zone == zone)
                        {
                            OnEntityMoveZone(_screen, zone, entity, entity.Position, state.Position);
                            //MoveZone?.Invoke(this, new ZoneMoveEventArgs(_screen, zone, entity, entity.Position, state.Position));
                        }
                        // New zone -- trigger exit and enter event.
                        else
                        {
                            OnEntityExitZone(_screen, state.Zone, entity, entity.Position);
                            OnEntityEnterZone(_screen, zone, entity, entity.Position);
                            ExitZone?.Invoke(this, new ZoneEventArgs(_screen, state.Zone, entity, state.Position));
                            EnterZone?.Invoke(this, new ZoneEventArgs(_screen, zone, entity, entity.Position));
                            state.Zone = zone;
                        }
                    }
                    // Left zone
                    else if (state.IsInZone)
                    {
                        OnEntityExitZone(_screen, state.Zone, entity, entity.Position);
                        ExitZone?.Invoke(this, new ZoneEventArgs(_screen, state.Zone, entity, state.Position));
                        state.IsInZone = false;
                        state.Zone     = null;
                    }
                    // Entered zone
                    else if (isZone)
                    {
                        OnEntityEnterZone(_screen, zone, entity, entity.Position);
                        EnterZone?.Invoke(this, new ZoneEventArgs(_screen, zone, entity, entity.Position));
                        state.IsInZone = true;
                        state.Zone     = zone;
                    }

                    //// Still in hotspot
                    //if (state.IsInHotspot && isHotspot)
                    //{
                    //    OnEntityExitHotspot(_screen, state.Hotspot, entity, state.Position);
                    //    OnEntityEnterHotspot(_screen, spot, entity, entity.Position);
                    //    ExitHotspot?.Invoke(this, new HotspotEventArgs(_screen, state.Hotspot, entity, state.Position));
                    //    EnterHotspot?.Invoke(this, new HotspotEventArgs(_screen, spot, entity, entity.Position));
                    //    state.Hotspot = spot;
                    //}
                    //// Left hotspot
                    //else if (state.IsInHotspot)
                    //{
                    //    OnEntityExitHotspot(_screen, state.Hotspot, entity, state.Position);
                    //    ExitHotspot?.Invoke(this, new HotspotEventArgs(_screen, state.Hotspot, entity, state.Position));
                    //    state.IsInHotspot = false;
                    //    state.Hotspot = null;
                    //}
                    //else if (isHotspot)
                    //{
                    //    OnEntityEnterHotspot(_screen, spot, entity, entity.Position);
                    //    EnterHotspot?.Invoke(this, new HotspotEventArgs(_screen, spot, entity, entity.Position));
                    //    state.IsInHotspot = true;
                    //    state.Hotspot = spot;
                    //}
                }
                RemoveEntityPositionCollection(entity, state.Position);
                state.Position = entity.Position;
                UpdateEntityPositionCollection(entity);
            }
        }