public void SpawnNpc(int cfgid, Vector3 pos, Quaternion rot)
        {
            PrefabsConfig config =
                ConfigDataMgr.Instance.PrefabCfgLoader.GetDataByID(cfgid);

            if (!System.Object.ReferenceEquals(null, config))
            {
                GameObject go = PrefabsAssetHolder.Instance.GetPrefabByID(config.ID);
                if (go)
                {
                    GameObject npcInstance =
                        PrefabPoolingSystem.Instance.Spawn(go, pos, rot);

                    npcInstance.transform.SetParent(RoleContenter);

                    SimWood sw = npcInstance.GetComponent <SimWood>();

                    if (sw)
                    {
                        sw.Home = NPC_Home;
                        sw.Food = NPC_Food;
                    }
                }
            }
        }
예제 #2
0
 public override void TakeEffect(SimWood target)
 {
     if (target)
     {
         target.Xue = target.Xue - 10;
     }
 }
예제 #3
0
        public virtual SimWood GetAffectTarget(Transform trans)
        {
            SimWood target = trans.GetComponent <SimWood>();

            if (!target)
            {
                trans = trans.parent;
                if (trans)
                {
                    target = trans.GetComponent <SimWood>();
                }
            }

            if (target)
            {
                if (target.ID != OwnerID)
                {
                    Debug.Log("$$$ bullet collider" + ID.ToString());

                    return(target);
                }
            }

            return(null);
        }
예제 #4
0
        public virtual bool AddToTarget(SimWood target)
        {
            if (!System.Object.ReferenceEquals(null, target))
            {
                if (target.AddItem(ItemCfgID, Count))
                {
                    return(true);
                }
            }

            return(false);
        }
예제 #5
0
        private void OnTriggerEnter(Collider other)
        {
            if (other && other.transform && other.transform.parent)
            {
                SimWood sw = other.transform.parent.GetComponent <SimWood>();
                if (!System.Object.ReferenceEquals(null, sw))
                {
                    // sw.Bag.AddItem(id);

                    if (AddToTarget(sw))
                    {
                        OnAddSuccess(sw);
                    }
                }
            }
        }
예제 #6
0
        private void LoadUIContent()
        {
            if (!IsUIElementsReady)
            {
                return;
            }

            UILord.Instance.CurBagUI = this;

            SimWood sw = (SimWood)EntityManager.Instance.PlayerEntity;

            if (!System.Object.ReferenceEquals(null, sw))
            {
                Bag = sw.Bag;
                UILord.Instance.CurBag = Bag;

                LoadBagContent(Bag);
            }
        }
예제 #7
0
        private void LoadUIContent()
        {
            if (!IsUIElementsReady)
            {
                return;
            }

            UILord.Instance.CurRoleInfoUI = this;

            SimWood sw = (SimWood)EntityManager.Instance.PlayerEntity;

            if (!System.Object.ReferenceEquals(null, sw))
            {
                RoleInfo = sw.RoleInfo;
                UILord.Instance.CurRoleInfo = RoleInfo;

                LoadContent(RoleInfo);
            }
        }
예제 #8
0
        private void LoadUIContent()
        {
            if (!IsUIElementsReady)
            {
                return;
            }

            SimWood sw = (SimWood)EntityManager.Instance.PlayerEntity;

            if (!System.Object.ReferenceEquals(null, sw))
            {
                Shortcut = sw.Shortcut;

                UILord.Instance.CurShortcut   = Shortcut;
                UILord.Instance.CurShortcutUI = this;

                LoadContent(Shortcut);
            }
        }
예제 #9
0
 public virtual void HandleTargetStay(SimWood target)
 {
 }
예제 #10
0
 public virtual void AfterEffect(SimWood target)
 {
 }
예제 #11
0
 public virtual void TakeEffect(SimWood target)
 {
     target.Xue = target.Xue - 10;
 }
예제 #12
0
 public virtual void HandleTargetExit(SimWood target)
 {
 }
예제 #13
0
 public override void HandleTargetEnter(SimWood target)
 {
     //base.HandleTargetEnter(target);
     TakeEffect(target);
 }
예제 #14
0
 public virtual void HandleTargetEnter(SimWood target)
 {
     TakeEffect(target);
     AfterEffect(target);
 }
예제 #15
0
 public virtual void OnAddSuccess(SimWood target)
 {
     PrefabPoolingSystem.Instance.Despawn(gameObject);
 }
예제 #16
0
        // Start is called before the first frame update
        void Start()
        {
            GameLogicSupvisor.Instance.Register(this);

            Wood = GetComponent <SimWood>();
        }
예제 #17
0
 public override void HandleTargetExit(SimWood target)
 {
 }
예제 #18
0
 public override void HandleTargetStay(SimWood target)
 {
 }