private void AssessmentCheck() { GUIStyle redLabel = new GUIStyle(EditorStyles.label); GUIStyle yellowLabel = new GUIStyle(EditorStyles.label); redLabel.normal.textColor = Color.red; yellowLabel.normal.textColor = new Color(0.47f, 0.38f, 0.1f); WorldObjectScript worldObjectScript = target as WorldObjectScript; PickableScript pickableScript = target as PickableScript; ActorScript actorScript = target as ActorScript; if (worldObjectScript != null) { } else if (pickableScript != null) { if (PickableHasAnyTag() == false) { GUILayout.Label("No 'pickable' tag detected!", redLabel); } if (PickableItemDataFormMatch(pickableScript) == false) { GUILayout.Label("FormID & ItemDat not match.", yellowLabel); } } }
public BurstGenerator(BurstAttributes attributes, GameObject sourcePos, WeaponScript owner) { _attributes = attributes; _sourcePos = sourcePos; _ownerWeapon = owner; _ownerActor = owner.GetComponentInParent<ActorScript>(); }
void Start() { _navMeshAgent = GetComponent<NavMeshAgent>(); //WaypointPlanner = new WaypointPlanner(); //WaypointPlanner.WaypointObject = WaypointObject; IgnoreLayerMask = LayerMask.NameToLayer("Sensors"); _actor = GetComponent<ActorScript>(); _fireControlScript = GetComponent<PlayerFireControlScript>(); }
public PerformedRangeAttackActorEventArgs(Attack att, ActorScript attacker, Vector3 origin, Vector3 dir, float offset, float velocity = float.MaxValue, float dispersion = 60) { Attack = att; Attacker = attacker; OriginPoint = origin; Direction = dir; ProjectileVelocity = velocity; SpawnOffset = offset + 0.2f; NumberOfProjectiles = 1; }
private T CreateActor <T>(SubclassOf <Actor> ActorClass, ActorScript actorScript) where T : Actor { Actor actor = null; if (ActorClass != null) { actor = Activator.CreateInstance(ActorClass) as Actor; actor.PostConstruct(); if (actorScript != null) { actorScript.ApplyToObject(actor); } else { actor.PostScriptApplied(); } } else if (actorScript != null) { actor = actorScript.CreateInstance <Actor>(); } else { throw new ArgumentNullException(nameof(ActorClass), "Both Actor Class and ActorScript cannot be null. Provide one."); } if (actor.Name == null) { int CompCount = AllActors.Count(x => x.GetType().Name == actor.GetType().Name); actor.Name = string.Format("{0}_{1}", actor.GetType().Name, CompCount); } _AllActors.Add(actor); List <ResourcePtr> ResourceCollector = new List <ResourcePtr>(); actor.CollectResources(ResourceCollector); if (ResourceCollector.Count > 0) { FileSystem.BulkLoadAssets(ResourceCollector, () => FinishSpawningActor(actor), null); } else { FinishSpawningActor(actor); } return(actor as T); }
public void RegisterBeingAttacked(BeingAttackedEventArgs args) { List <KeyValuePair <ActorStatsDeclaration, StatMutator> > temp = args.TheAttack.GetStatChanges(); foreach (KeyValuePair <ActorStatsDeclaration, StatMutator> pair in temp) { Mechanics.AddMutator(pair.Key, pair.Value); } Mechanics.Health.ApplyDamage(args.TheAttack.CalculateDamage()); LastAttacker = args.TheAttack.Attacker; // Animator dostaje informacje że postać dostała trafiona // Rozpatrz przypadek gdy postać oberwała krytyka }
public Attack(AttackType type, float dmg, float variance, float critChance, float critMultiplier, ActorScript attacker = null, List <KeyValuePair <ActorStatsDeclaration, StatMutator> > inflicted = null) { Type = type; Damage = dmg; DamageVariance = variance; CritChance = critChance; CritModificator = critMultiplier; Attacker = attacker; InflictedStatChanges = (inflicted == null) ? new List <KeyValuePair <ActorStatsDeclaration, StatMutator> >() : inflicted; WasCritical = null; }
private void CreateNew_Actor() { WorldObjectScript worldObjectScript = target as WorldObjectScript; PickableScript pickableScript = target as PickableScript; ActorScript actorScript = target as ActorScript; var dir = NewFolder(target.gameObject.name); var path = $"{dir}/{target.gameObject.name}.prefab"; var prefab1 = PrefabUtility.SaveAsPrefabAssetAndConnect(target.gameObject, path, InteractionMode.UserAction); Actor actor = new Actor(); actor.ID = actorScript.Get_ObjectRefData().formID.BaseID; actor.gameModel = prefab1; objectDatabase.Data.allBaseActors.Add(actor); }
//** ApplyBodyType ** //Active the selected Actor model public void ApplyBodyType() { selectedBodyType = bodyTypeList [dnBodyType.value - 1].ID; string selType = bodyTypeList [dnBodyType.value - 1].Name; foreach (BodyObjects record in bodiesObjects) { record.BodyObject.SetActive(false); } GameObject toShow = bodiesObjects.Find(x => x.TypeName == selType).BodyObject; toShow.SetActive(true); objPlayer = toShow; actorScript = objPlayer.GetComponent <ActorScript> (); dnBodySkins.ClearOptions(); dnEyeSkin.ClearOptions(); LoadBodyModels(selectedBodyType); }
private T CreateActor <T>(SubclassOf <Actor> ActorClass, ActorScript actorScript) where T : Actor { Actor actor = null; if (ActorClass != null) { actor = Activator.CreateInstance(ActorClass) as Actor; actor.PostConstruct(); if (actorScript != null) { actorScript.ApplyToObject(actor); } else { actor.PostScriptApplied(); } } else if (actorScript != null) { actor = actorScript.CreateInstance <Actor>(); } else { throw new ArgumentNullException(nameof(ActorClass), "Both Actor Class and ActorScript cannot be null. Provide one."); } if (actor.Name == null) { int CompCount = AllActors.Count(x => x.GetType().Name == actor.GetType().Name); actor.Name = string.Format("{0}_{1}", actor.GetType().Name, CompCount); } _AllActors.Add(actor); //Init all constructor created actors foreach (var Property in actor.GetType().GetProperties()) { if (typeof(ActorComponent).IsAssignableFrom(Property.PropertyType)) { ActorComponent comp = Property.GetValue(actor) as ActorComponent; if (comp == null) { if (Property.SetMethod != null && Property.GetCustomAttribute <DontConstructComponentAttribute>(true) != null) { comp = Activator.CreateInstance(Property.PropertyType) as ActorComponent; Property.SetValue(actor, comp); } else { continue; } } if (!comp.Registered) { comp.Register(); } } } List <ResourcePtr> ResourceCollector = new List <ResourcePtr>(); actor.CollectResources(ResourceCollector); if (ResourceCollector.Count > 0) { FileSystem.BulkLoadAssets(ResourceCollector, () => FinishSpawningActor(actor), null); } else { FinishSpawningActor(actor); } return(actor as T); }
public T CreateActor <T>(ActorScript actorScript) where T : Actor { return(CreateActor <T>(null, actorScript)); }
// Use this for initialization void Start() { _actor = GetComponent<ActorScript>(); }
public void Subscribe(ActorScript actor) { actor.OnRangedAttack += HandleRangedAttack; }
public void Subscribe(ActorScript actor) { actor.OnActorGainedExperience += CheckIfNewLevelReached; }
void Start() { _player = GameObject.FindGameObjectWithTag("Player").GetComponent<ActorScript>(); if (_player != null) { if (_cannonSwitchButton != null) { _cannonSwitchButton.SwitchState = IsWeaponEnabled(WeaponScript.WeaponClasses.Projectile); _cannonSwitchButton.gameObject.transform.parent.gameObject.SetActive(ExistWeapon(WeaponScript.WeaponClasses.Projectile)); } if (_laserSwitchButton != null) { _laserSwitchButton.SwitchState = IsWeaponEnabled(WeaponScript.WeaponClasses.Energy); _laserSwitchButton.gameObject.transform.parent.gameObject.SetActive(ExistWeapon(WeaponScript.WeaponClasses.Energy)); } if (_missiledSwitchButton != null) { _missiledSwitchButton.SwitchState = IsWeaponEnabled(WeaponScript.WeaponClasses.Missile); _missiledSwitchButton.gameObject.transform.parent.gameObject.SetActive(ExistWeapon(WeaponScript.WeaponClasses.Missile)); } if (_grenadeSwitchButton != null) { _grenadeSwitchButton.SwitchState = IsWeaponEnabled(WeaponScript.WeaponClasses.Grenade); _grenadeSwitchButton.gameObject.transform.parent.gameObject.SetActive(ExistWeapon(WeaponScript.WeaponClasses.Grenade)); } if (_weaponsGrid != null) { _weaponsGrid.repositionNow = true; } if (_autoFireSwitchButton != null) { _autoFireSwitchButton.SwitchState = _player.gameObject.GetComponent<PlayerFireControlScript>()._autoFire; } } }
public MoveToTargetAIState(ActorScript target, bool follow) { this.target = target; isFollowing = follow; }
public void KillTarget(ActorScript target) { ClearStack(); AddToStackAndSwitchTo(new KillTargetAIState(target)); }
public BeingAttackedEventArgs(Attack att, ActorScript sender) { TheAttack = att; Sender = sender; }
public ActorGainedLevelEventArgs(ActorScript sender, int levelGained) { Sender = sender; Level = levelGained; }
public ActorGainedExperienceEventArgs(ActorScript rewarded, float exp) { Sender = rewarded; Experience = exp; }
public KillTargetAIState(ActorScript target) { this.target = target; }
public void MoveToTarget(ActorScript target, bool follow) { ClearStack(); AddToStackAndSwitchTo(new MoveToTargetAIState(target, follow)); }
public ActorDiedEventArgs(float exp, ActorScript killer, ActorScript victim) { ExpReward = exp; Killer = killer; Sender = victim; }
// Use this for initialization void Start() { _actorScript = GetComponentInParent<ActorScript>(); }
private void CreateNew_Pickables() { WorldObjectScript worldObjectScript = target as WorldObjectScript; PickableScript pickableScript = target as PickableScript; ActorScript actorScript = target as ActorScript; var dir = NewFolder(target.gameObject.name); var path = $"{dir}/{target.gameObject.name}.prefab"; var prefab1 = PrefabUtility.SaveAsPrefabAssetAndConnect(target.gameObject, path, InteractionMode.UserAction); ItemData_Type itemType = MainUtility.Convert_ObjectToItemType(pickableScript.Get_Pickable_Data().formID.ObjectType); if (itemType == ItemData_Type.Ammo) { Item_Ammo item = new Item_Ammo(); item.ID = pickableScript.Get_ObjectRefData().formID.BaseID; item.gameModel = prefab1; objectDatabase.Data.allItemAmmo.Add(item); } else if (itemType == ItemData_Type.Armor) { Item_Armor item = new Item_Armor(); item.ID = pickableScript.Get_ObjectRefData().formID.BaseID; item.gameModel = prefab1; objectDatabase.Data.allItemArmors.Add(item); } else if (itemType == ItemData_Type.Consume) { Item_Consumables item = new Item_Consumables(); item.ID = pickableScript.Get_ObjectRefData().formID.BaseID; item.gameModel = prefab1; objectDatabase.Data.allItemConsumables.Add(item); } else if (itemType == ItemData_Type.Junk) { Item_Junk item = new Item_Junk(); item.ID = pickableScript.Get_ObjectRefData().formID.BaseID; item.gameModel = prefab1; objectDatabase.Data.allItemJunk.Add(item); } else if (itemType == ItemData_Type.Key) { Item_Key item = new Item_Key(); item.ID = pickableScript.Get_ObjectRefData().formID.BaseID; item.gameModel = prefab1; objectDatabase.Data.allItemKey.Add(item); } else if (itemType == ItemData_Type.Misc) { Item_Misc item = new Item_Misc(); item.ID = pickableScript.Get_ObjectRefData().formID.BaseID; item.gameModel = prefab1; objectDatabase.Data.allItemMiscs.Add(item); } else if (itemType == ItemData_Type.Weapon) { Item_Weapon item = new Item_Weapon(); item.ID = pickableScript.Get_ObjectRefData().formID.BaseID; item.gameModel = prefab1; objectDatabase.Data.allItemWeapon.Add(item); } }