Example #1
0
        public uint CreateMaterialItem(uint ownerID, int metaId, Vector3 initPos, Vector3 initDir, bool actDropAnim, int level = 1)
        {
            int rarity = Singleton <StorageModule> .Instance.GetDummyStorageDataItem(metaId, 1).rarity;

            string type = (rarity > 2) ? "MaterialItem_02" : "MaterialItem_01";
            BaseMonoDynamicObject entity = this.CreateDynamicObjectEntityInstance(ownerID, type, initPos, initDir, this.GetNextSyncedDynamicObjectRuntimeID());
            MonoGoods             goods  = entity as MonoGoods;

            goods.actDropAnim    = actDropAnim;
            goods.DropItemMetaID = metaId;
            goods.DropItemLevel  = level;
            goods.DropItemNum    = 1;
            if (!string.IsNullOrEmpty(goods.InsideEffectPattern))
            {
                List <MonoEffect> list = Singleton <EffectManager> .Instance.TriggerEntityEffectPatternReturnValue(goods.InsideEffectPattern, entity, true);

                int num2  = 0;
                int count = list.Count;
                while (num2 < count)
                {
                    this.SetParticleColorByRarity(list[num2].gameObject, rarity);
                    num2++;
                }
            }
            EquipItemActor actor = Singleton <EventManager> .Instance.CreateActor <EquipItemActor>(entity);

            actor.rarity = rarity;
            return(actor.runtimeID);
        }
Example #2
0
        public uint CreateNavigationArrow(uint ownerID, Vector3 pos, Vector3 forward)
        {
            BaseMonoDynamicObject obj2 = this.CreateDynamicObjectEntityInstance(ownerID, "NavigationArrow", pos, forward, this.GetNextNonSyncedDynamicObjectRuntimeID());

            obj2.dynamicType = BaseMonoDynamicObject.DynamicType.NavigationArrow;
            return(obj2.GetRuntimeID());
        }
Example #3
0
        private BaseMonoDynamicObject CreateDynamicObjectEntityInstance(uint ownerID, string type, Vector3 initPos, Vector3 initDir, uint runtimeID)
        {
            BaseMonoDynamicObject obj2 = this.CreateDynamicObjectEntityInstance(ownerID, type, runtimeID);

            obj2.transform.position = initPos;
            obj2.transform.forward  = initDir;
            return(obj2);
        }
Example #4
0
        private BaseMonoDynamicObject CreateDynamicObjectEntityInstance(uint ownerID, string type, uint runtimeID)
        {
            BaseMonoDynamicObject component = UnityEngine.Object.Instantiate <GameObject>(this.GetDynamicObjectPrototype(type)).GetComponent <BaseMonoDynamicObject>();

            component.Init(runtimeID, ownerID);
            this._dynamicObjects.Add(runtimeID, component);
            this._dynamicLs.Add(component);
            return(component);
        }
Example #5
0
        public uint CreateEvadeDummy(uint ownerID, string evadeDummyName, Vector3 initPos, Vector3 initDir)
        {
            BaseMonoDynamicObject entity = this.CreateDynamicObjectEntityInstance(ownerID, evadeDummyName, initPos, initDir, this.GetNextNonSyncedDynamicObjectRuntimeID());

            entity.dynamicType = BaseMonoDynamicObject.DynamicType.EvadeDummy;
            EvadeEntityDummy dummy = Singleton <EventManager> .Instance.CreateActor <EvadeEntityDummy>(entity);

            dummy.Setup(ownerID);
            return(dummy.runtimeID);
        }
Example #6
0
        private BaseMonoDynamicObject RegisterAsDynamicObject(uint ownerID, GameObject go)
        {
            uint nextRuntimeID = Singleton <RuntimeIDManager> .Instance.GetNextRuntimeID(6);

            BaseMonoDynamicObject component = go.GetComponent <BaseMonoDynamicObject>();

            component.Init(nextRuntimeID, ownerID);
            this._dynamicObjects.Add(nextRuntimeID, component);
            this._dynamicLs.Add(component);
            return(component);
        }
Example #7
0
 private void RemoveAllRemoveables()
 {
     for (int i = 0; i < this._dynamicLs.Count; i++)
     {
         BaseMonoDynamicObject obj2 = this._dynamicLs[i];
         if (obj2.IsToBeRemove())
         {
             this.RemoveDynamicObjectByRuntimeID(obj2.GetRuntimeID(), i);
             i--;
         }
     }
 }
Example #8
0
 public void RemoveAllDynamicObjects()
 {
     for (int i = 0; i < this._dynamicLs.Count; i++)
     {
         BaseMonoDynamicObject obj2 = this._dynamicLs[i];
         if (!obj2.IsToBeRemove())
         {
             obj2.SetDied();
         }
         this.RemoveDynamicObjectByRuntimeID(obj2.GetRuntimeID(), i);
         i--;
     }
 }
Example #9
0
        public uint CreateAvatarFragmentItem(uint ownerID, int metaId, Vector3 initPos, Vector3 initDir, bool actDropAnim, int level = 1)
        {
            int rarity = Singleton <StorageModule> .Instance.GetDummyStorageDataItem(metaId, 1).rarity;

            BaseMonoDynamicObject entity = this.CreateDynamicObjectEntityInstance(ownerID, "AvatarFragmentItem", initPos, initDir, this.GetNextSyncedDynamicObjectRuntimeID());
            MonoGoods             goods  = entity as MonoGoods;

            goods.actDropAnim    = actDropAnim;
            goods.DropItemMetaID = metaId;
            goods.DropItemLevel  = level;
            goods.DropItemNum    = 1;
            EquipItemActor actor = Singleton <EventManager> .Instance.CreateActor <EquipItemActor>(entity);

            actor.rarity = rarity;
            return(actor.runtimeID);
        }
Example #10
0
 private void OnTriggerEnter(Collider other)
 {
     if (((this._collisionMask.value & (((int)1) << other.gameObject.layer)) != 0) && this._collisionEnabled)
     {
         BaseMonoEntity componentInParent = other.GetComponentInParent <BaseMonoEntity>();
         if (Singleton <RuntimeIDManager> .Instance.ParseCategory(componentInParent.GetRuntimeID()) == 4)
         {
             if (this._enteredIDs.Contains(componentInParent.GetRuntimeID()))
             {
                 return;
             }
         }
         else if (!componentInParent.IsActive() || this._enteredIDs.Contains(componentInParent.GetRuntimeID()))
         {
             return;
         }
         BaseMonoEntity owner = componentInParent;
         if (componentInParent is BaseMonoDynamicObject)
         {
             BaseMonoDynamicObject obj2 = (BaseMonoDynamicObject)componentInParent;
             if ((obj2.dynamicType == BaseMonoDynamicObject.DynamicType.EvadeDummy) && (obj2.owner != null))
             {
                 this._enteredIDs.Add(obj2.owner.GetRuntimeID());
             }
         }
         else if (componentInParent is MonoBodyPartEntity)
         {
             owner = ((MonoBodyPartEntity)componentInParent).owner;
         }
         if (!(owner is BaseMonoAbilityEntity) || !((BaseMonoAbilityEntity)owner).isGhost)
         {
             this._enteredIDs.Add(owner.GetRuntimeID());
             EvtBulletHit evt = new EvtBulletHit(base._runtimeID, owner.GetRuntimeID())
             {
                 ownerID = base.ownerID
             };
             Vector3 position = base.transform.position - ((Vector3)((Time.deltaTime * this.BulletTimeScale) * this._rigidbody.velocity));
             AttackResult.HitCollsion collsion = new AttackResult.HitCollsion {
                 hitPoint = other.ClosestPointOnBounds(position),
                 hitDir   = this.CreateHitForward()
             };
             evt.hitCollision = collsion;
             Singleton <EventManager> .Instance.FireEvent(evt, MPEventDispatchMode.Normal);
         }
     }
 }
Example #11
0
        public uint RegisterStageEnvTriggerField(uint ownerID, GameObject go)
        {
            MonoTriggerField component = go.GetComponent <MonoTriggerField>();

            if (component == null)
            {
                component = go.AddComponent <MonoTriggerField>();
                BaseMonoDynamicObject entity = this.RegisterAsDynamicObject(ownerID, go);
                Singleton <EventManager> .Instance.CreateActor <TriggerFieldActor>(entity);
            }
            component.SetCollisionMask(((int)1) << InLevelData.AVATAR_LAYER);
            Collider collider = component.GetComponent <Collider>();

            collider.enabled = false;
            collider.enabled = true;
            return(component.GetRuntimeID());
        }
Example #12
0
        private BaseMPIdentity ResolveRemoteModeIdentity(uint runtimeID)
        {
            if (Singleton <RuntimeIDManager> .Instance.IsSyncedRuntimeID(runtimeID))
            {
                return(Singleton <MPManager> .Instance.TryGetIdentity(runtimeID));
            }
            if (Singleton <RuntimeIDManager> .Instance.ParseCategory(runtimeID) == 6)
            {
                BaseMonoDynamicObject dynamicObjectByRuntimeID = Singleton <DynamicObjectManager> .Instance.GetDynamicObjectByRuntimeID(runtimeID);

                if (dynamicObjectByRuntimeID.owner != null)
                {
                    return(Singleton <MPManager> .Instance.TryGetIdentity(dynamicObjectByRuntimeID.owner.GetRuntimeID()));
                }
            }
            return(null);
        }
Example #13
0
 private void OnTriggerEnter(Collider other)
 {
     if ((this._collisionMask.value & (((int)1) << other.gameObject.layer)) != 0)
     {
         BaseMonoEntity componentInParent = other.GetComponentInParent <BaseMonoEntity>();
         if (Singleton <RuntimeIDManager> .Instance.ParseCategory(componentInParent.GetRuntimeID()) == 4)
         {
             if (this._enteredIDs.Contains(componentInParent.GetRuntimeID()))
             {
                 return;
             }
         }
         else if (!componentInParent.IsActive() || this._enteredIDs.Contains(componentInParent.GetRuntimeID()))
         {
             return;
         }
         if (componentInParent is MonoDummyDynamicObject)
         {
             BaseMonoDynamicObject obj2 = (BaseMonoDynamicObject)componentInParent;
             if ((obj2.dynamicType == BaseMonoDynamicObject.DynamicType.EvadeDummy) && (obj2.owner != null))
             {
                 this._enteredIDs.Add(obj2.owner.GetRuntimeID());
             }
         }
         this._enteredIDs.Add(componentInParent.GetRuntimeID());
         this.OnEntityEntered(other, componentInParent);
         if (this._stopOnFirstContact)
         {
             this._animation.Stop();
             this._rigidbody.detectCollisions = false;
         }
         if (this.triggerEnterCallback != null)
         {
             if (this._follow)
             {
                 base.StartCoroutine(this.WaitEndOfFrameTriggerHit(other, componentInParent));
             }
             else
             {
                 this.FireTriggerCallback(other, componentInParent);
             }
         }
     }
 }
Example #14
0
 private void OnTriggerEnter(Collider other)
 {
     if ((this._collisionMask.value & (((int)1) << other.gameObject.layer)) != 0)
     {
         BaseMonoEntity componentInParent = other.GetComponentInParent <BaseMonoEntity>();
         if (componentInParent.IsActive() && !this._enteredIDs.Contains(componentInParent.GetRuntimeID()))
         {
             if (componentInParent is MonoDummyDynamicObject)
             {
                 BaseMonoDynamicObject obj2 = (BaseMonoDynamicObject)componentInParent;
                 if ((obj2.dynamicType == BaseMonoDynamicObject.DynamicType.EvadeDummy) && (obj2.owner != null))
                 {
                     this._enteredIDs.Add(obj2.owner.GetRuntimeID());
                 }
             }
             this._enteredIDs.Add(componentInParent.GetRuntimeID());
             if (this.triggerEnterCallback != null)
             {
                 this.triggerEnterCallback(other);
             }
         }
     }
 }
Example #15
0
 public override void Init(BaseMonoEntity entity)
 {
     this._dynamicObject = (BaseMonoDynamicObject)entity;
     base.runtimeID      = this._dynamicObject.GetRuntimeID();
 }