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); }
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()); }
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); }
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); }
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); }
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); }
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--; } } }
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--; } }
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); }
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); } } }
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()); }
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); }
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); } } } }
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); } } } }
public override void Init(BaseMonoEntity entity) { this._dynamicObject = (BaseMonoDynamicObject)entity; base.runtimeID = this._dynamicObject.GetRuntimeID(); }