Exemplo n.º 1
0
        public void Execute()
        {
            var list = World.GetComponents <MoveComponent>();

            if (list != null)
            {
                foreach (MoveComponent com in list)
                {
                    TransformComponent pos = World.GetComponentByEntityId(com.EntityId, typeof(TransformComponent)) as TransformComponent;
                    if (pos != null)
                    {
                        pos.Translate(com.GetPathV2());
                    }

                    BoxColliderComponent box = World.GetComponentByEntityId(com.EntityId, typeof(BoxColliderComponent)) as BoxColliderComponent;
                    if (box != null)
                    {
                        box.UpdateCollision(new VInt3((int)pos.LocalPosition.x, (int)pos.LocalPosition.y, 0));
                    }

                    SphereColliderComponent sphere = World.GetComponentByEntityId(com.EntityId, typeof(SphereColliderComponent)) as SphereColliderComponent;
                    if (sphere != null)
                    {
                        sphere.UpdateCollision(new VInt3((int)pos.LocalPosition.x, (int)pos.LocalPosition.y, 0));
                    }
                }
            }
        }
Exemplo n.º 2
0
    void Start()
    {
        heroAnimator            = this.GetComponent <Animator>();
        heroCharacterController = this.GetComponent <CharacterController>();
        sphereColliderComponent = transform.Find("SphereCollider").GetComponent <SphereColliderComponent>();

        sphereColliderComponent.OnTriggerEnterEvent += (collider) => {
            if (collider.transform.tag == "NPC")
            {
                attackNPC = collider.transform.GetComponent <NPCComponent>();
            }
            if (collider.transform.tag == "Player" && collider.gameObject.name != playerUnitData.PlayerId.ToString())
            {
                attackPlayer = collider.transform.GetComponent <PlayerComponent>();
            }
        };
        sphereColliderComponent.OnTriggerExitEvent += (collider) => {
            if (collider.transform.tag == "NPC")
            {
                attackNPC = null;
            }
            if (collider.transform.tag == "Player" && collider.gameObject.name != playerUnitData.PlayerId.ToString())
            {
                attackPlayer = null;
            }
        };


        SyncPlayerData.Instance.syncPositionBack += SyncPositionBack;
    }