void AttackTarget() { BaseBehaviour attackableTarget = target.GetComponent <BaseBehaviour> (); attackableTarget.changeLife(-health); Die(); }
void HitTarget() //quando il bersaglio è colpito... { if (target.tag == "Enemy") //se è un nemico... { Enemy_HealthBar HealthBarScript = target.GetComponent <Enemy_HealthBar>(); //...prendi lo script della vita del nemico... if (HealthBarScript != null) { HealthBarScript.TakeDamage(damage); //... e chiama il comando per danneggiarlo } } if (target.tag == "Tower_Pos") //se è una torretta... { //Prendi lo script della healthbar della torre //danneggia la torre Turret_HealthBar HealthBarScript = target.GetComponent <Turret_HealthBar>();//...prendi lo script della vita della torretta... if (HealthBarScript != null) { HealthBarScript.TakeDamage(damage); //... e chiama il comando per danneggiarla } //Debug.Log("Torre Danneggiata"); } if (target.tag == "Base") //se è una base... { BaseBehaviour BaseHealtScript = target.GetComponent <BaseBehaviour>(); //prendi lo script della heathbar della base if (BaseHealtScript != null) { BaseHealtScript.BaseTakeDamage(damage); //danneggia la base } //Debug.Log("Base Danneggiata"); } //Debug.Log("Ho colpito qualcosa!"); Destroy(gameObject); //Poi distruggi questo proiettile }
public void Defuse(BaseBehaviour b, Team Team) { countingDown = false; team = Team; timer = timeToExplode; gameObject.SetActive(false); }
static int Destroy(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 1) { UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.CheckObject <UnityEngine.Object>(L, 1); BaseBehaviour.Destroy(arg0); return(0); } else if (count == 2) { UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.CheckObject <UnityEngine.Object>(L, 1); float arg1 = (float)LuaDLL.luaL_checknumber(L, 2); BaseBehaviour.Destroy(arg0, arg1); return(0); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: BaseBehaviour.Destroy")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public override void Start() { target = GetTarget(); firePeriodically = FirePeriodically(); StartCoroutine(firePeriodically); }
public override void start(BaseBehaviour baseBehaviour) { base.start (baseBehaviour); m_RayDistance = RAY_DISTANCE; m_LayerMask = LayerMask.GetMask (Constants.PLAYER_STRING); }
public override void start(BaseBehaviour baseBehaviour) { base.start(baseBehaviour); m_RayDistance = RAY_DISTANCE; m_LayerMask = LayerMask.GetMask(Constants.PLAYER_STRING); }
//将头放到尾 public void HeadPutTaile() { BaseBehaviour FirstNode = _AIList.First.Value; _AIList.RemoveFirst(); TailAddBehaviour(FirstNode); }
public static void ScriptLoaded(DOLEvent e, object sender, EventArgs args) { if (!ServerProperties.Properties.LOAD_EXAMPLES) { return; } GameNPC[] npcs = WorldMgr.GetObjectsByName <GameNPC>("Sir Quait", eRealm.Albion); npcs = WorldMgr.GetObjectsByName <GameNPC>("Sir Quait", (eRealm)1); GameNPC SirQuait = null; if (npcs.Length == 0) { SirQuait = new DOL.GS.GameNPC(); SirQuait.Model = 40; SirQuait.Name = "Sir Quait"; if (log.IsWarnEnabled) { log.Warn("Could not find " + SirQuait.Name + ", creating ..."); } SirQuait.Realm = eRealm.Albion; SirQuait.CurrentRegionID = 1; SirQuait.Size = 50; SirQuait.Level = 10; SirQuait.MaxSpeedBase = 100; SirQuait.Faction = FactionMgr.GetFactionByID(0); SirQuait.X = 531971; SirQuait.Y = 478955; SirQuait.Z = 0; SirQuait.Heading = 3570; SirQuait.RespawnInterval = 0; SirQuait.BodyType = 0; StandardMobBrain brain = new StandardMobBrain(); brain.AggroLevel = 0; brain.AggroRange = 0; SirQuait.SetOwnBrain(brain); SirQuait.AddToWorld(); } else { SirQuait = npcs[0]; } BaseBehaviour b = new BaseBehaviour(SirQuait); MessageAction a = new MessageAction(SirQuait, "This is just a simple test bahaviour.", eTextType.Emote); b.AddAction(a); InteractTrigger t = new InteractTrigger(SirQuait, b.NotifyHandler, SirQuait); b.AddTrigger(t); // store the behaviour in a list so it won't be garbage collected behaviours.Add(b); log.Info("Simple Test Behaviour added"); }
public static void ScriptLoaded(DOLEvent e, object sender, EventArgs args) { if (!ServerProperties.Properties.LOAD_EXAMPLES) return; #region defineNPCs GameNPC[] npcs = WorldMgr.GetNPCsByName("Sir Quait", eRealm.Albion); npcs = WorldMgr.GetNPCsByName("Sir Quait", (eRealm)1); GameNPC SirQuait = null; if (npcs.Length == 0) { SirQuait = new DOL.GS.GameNPC(); SirQuait.Model = 40; SirQuait.Name = "Sir Quait"; if (log.IsWarnEnabled) log.Warn("Could not find " + SirQuait.Name + ", creating ..."); SirQuait.Realm = eRealm.Albion; SirQuait.CurrentRegionID = 1; SirQuait.Size = 50; SirQuait.Level = 10; SirQuait.MaxSpeedBase = 100; SirQuait.Faction = FactionMgr.GetFactionByID(0); SirQuait.X = 531971; SirQuait.Y = 478955; SirQuait.Z = 0; SirQuait.Heading = 3570; SirQuait.RespawnInterval = 0; SirQuait.BodyType = 0; StandardMobBrain brain = new StandardMobBrain(); brain.AggroLevel = 0; brain.AggroRange = 0; SirQuait.SetOwnBrain(brain); SirQuait.AddToWorld(); } else { SirQuait = npcs[0]; } #endregion defineNPCs #region defineBehaviours BaseBehaviour b = new BaseBehaviour(SirQuait); MessageAction a = new MessageAction(SirQuait, "This is just a simple test bahaviour.", eTextType.Emote); b.AddAction(a); InteractTrigger t = new InteractTrigger(SirQuait, b.NotifyHandler, SirQuait); b.AddTrigger(t); // store the behaviour in a list so it won't be garbage collected behaviours.Add(b); #endregion defineBehaviours log.Info("Simple Test Behaviour added"); }
public int CompareTo( object obj ) { if( obj is BaseBehaviour ) { BaseBehaviour thisObj = (BaseBehaviour) obj; return _StartupPriority.CompareTo( thisObj._StartupPriority ); } return 0; }
public void Plant(BaseBehaviour b, Team Team) { countingDown = true; team = Team; timer = timeToExplode; myBase = b; gameObject.SetActive(true); }
public static void SetAssetRef(GameObject goInstantiate, string resName) { if (!string.IsNullOrEmpty(resName)) { BaseBehaviour baseBehaviour = goInstantiate.AddComponent <BaseBehaviour>(); baseBehaviour.ResName = resName; } }
// Use this for initialization void Start() { player = transform.GetComponent <CharacterController>(); myBehaviour = transform.GetComponent <BaseBehaviour>(); animator = transform.GetComponent <Animator>(); //Initiate variables zoom = -12f; sprintSpeed = moveSpeed * 6f; speedholder = moveSpeed; }
public void RegisterBehaviour(BaseBehaviour behaviour) { if (m_behaviours.ContainsKey(behaviour.priority)) { Debug.Log("Priority conflict registering behaviour {0}", behaviour); throw new System.Exception(string.Format("Priority conflict registering behaviour {0}", behaviour)); } m_behaviours[behaviour.priority] = behaviour; }
/// <summary> /// 右クリックすると,昼夜を反転できます. /// </summary> /// <param name="location"></param> /// <param name="interacter"></param> public void OnInteract(Vector3Int location, BaseBehaviour interacter) { if (Daylight.IsDay) { Daylight.GameTime = Daylight.RealTimeOfADay / 4 * 3; } else { Daylight.Day++; Daylight.GameTime = Daylight.RealTimeOfADay / 4; } }
/// <summary> /// 初始化 /// </summary> void Initialize() { BaseBehaviour.Initialize(); DontDestroyOnLoad(gameObject); //防止销毁自己 var gameMgr = ManagementCenter.GetManager <GameManager>(); if (gameMgr != null) { gameMgr.Initialize(); //初始化游戏管理器 } }
/// <summary> /// add a script from running it's secondary thread loop code /// </summary> /// <param name="b"></param> public static void registerScriptSecondaryThread(BaseBehaviour b) { if (instance == null && !isPlaying) { return; } if (!instance.SecondThreadScripts.Contains(b)) { instance.SecondThreadScripts.Add(b); } }
static public int Init(IntPtr l) { try { BaseBehaviour self = (BaseBehaviour)checkSelf(l); self.Init(); pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
public static T GetManager <T>() where T : class { if (typeof(T) == typeof(ConfigManager)) { return(BaseBehaviour.configMgr as T); } else if (typeof(T) == typeof(TableManager)) { return(BaseBehaviour.tableMgr as T); } return(BaseBehaviour.GetManager <T>()); }
/// <summary> /// remove a script from running it's main update loop code /// </summary> /// <param name="b"></param> public static void unregisterScriptMainThread(BaseBehaviour b) { if (instance == null && !isPlaying) { return; } if (instance.MainThreadScripts.Contains(b)) { instance.MainThreadScripts.Remove(b); } }
static public int get_trans(IntPtr l) { try { BaseBehaviour self = (BaseBehaviour)checkSelf(l); pushValue(l, true); pushValue(l, self.trans); return(2); } catch (Exception e) { return(error(l, e)); } }
static public int GetComponentInMy(IntPtr l) { try { BaseBehaviour self = (BaseBehaviour)checkSelf(l); var ret = self.GetComponentInMy <UnityEngine.Component>(); pushValue(l, true); pushValue(l, ret); return(2); } catch (Exception e) { return(error(l, e)); } }
static int Initialize(IntPtr L) { try { ToLua.CheckArgsCount(L, 0); BaseBehaviour.Initialize(); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public UnityMaterialAsset(BaseBehaviour owner) { this.owner = owner; UnityEngine.Renderer renderer = owner.GetComponent <UnityEngine.Renderer>(); if (null != renderer) { this.material = renderer.material; } else { this.material = null; } }
static int OnUpdate(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); float arg0 = (float)LuaDLL.luaL_checknumber(L, 1); BaseBehaviour.OnUpdate(arg0); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int GetManager(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); string arg0 = ToLua.CheckString(L, 1); FirClient.Manager.BaseManager o = BaseBehaviour.GetManager(arg0); ToLua.PushObject(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public void TestMethod2(BaseBehaviour baseBehaviour, DerivedBehaviour derivedBehaviour) { // Suspicious comparison warnings if (baseBehaviour == this) { } if (baseBehaviour != this) { } // No warnings if (baseBehaviour == derivedBehaviour) { } }
static int Instantiate(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); BaseBehaviour obj = (BaseBehaviour)ToLua.CheckObject <BaseBehaviour>(L, 1); UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.CheckObject <UnityEngine.Object>(L, 2); UnityEngine.Object o = obj.Instantiate(arg0); ToLua.Push(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int StartCoroutine(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); BaseBehaviour obj = (BaseBehaviour)ToLua.CheckObject <BaseBehaviour>(L, 1); System.Collections.IEnumerator arg0 = ToLua.CheckIter(L, 2); UnityEngine.Coroutine o = obj.StartCoroutine(arg0); ToLua.PushSealed(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
private void ChangeBehaviour(AiBehaviour behaviour, float transitionTime) { if (_activeAi != null) { _activeAi.End(); } // Stop movement prior to behaviour change, or else enemy will move towards its // old movement direction during the wait period. _motor.StopUntilResumed(); // Set new behaviour _activeAi = GetBehaviour(behaviour); _activeAi.Begin(); _activeBehaviour = behaviour; // Simulate transition to new behaviour by waiting for a short time Wait(transitionTime); }
IEnumerator FirePeriodically() { while (true) { if (!targetIsAlive) { _target = GetTarget(); if (_target != null) { targetIsAlive = true; } } var offset = Random.Range(minFireDelayOffset, maxFireDelayOffset); yield return(new WaitForSeconds(offset)); InnerBus.FireBullet.Invoke(); yield return(new WaitForSeconds(fireDelay - offset)); } }
public override void start(BaseBehaviour baseBehaviour) { }
public override void start(BaseBehaviour baseBehaviour) { m_Perception = GetComponentInParent<Perception> (); }
public override void start(BaseBehaviour baseBehaviour) { //Get our base behaviour projectile m_ProjectilePrefab = baseBehaviour.getProjectilePrefab (); }
public static IEnumerable<Dictionary<FieldInfo, string>> GetAllProfileCombinationsForInstance(BaseBehaviour instance) { var dict = new Dictionary<FieldInfo, List<string>>(); foreach (var fieldOuter in instance.GetType().GetFields(BindingFlags.Public | BindingFlags.Instance)) { var attributes = fieldOuter.GetCustomAttributes(typeof (SettingInstanceNameSelectorAttribute), true); if (attributes.Length > 0) { var fieldOptions = new List<string>(); var range = (SettingInstanceNameSelectorAttribute) attributes[0]; if (_configurationGameObjects == null) { _configurationGameObjects = Resources.LoadAll("Configuration").OfType<GameObject>().ToList(); } foreach (var res in _configurationGameObjects) { var components = res.GetComponents(range.BaseSettingStoreType); if (components.Length > 0) { var settingsStoreInstanceName = (from field in components[0].GetType().GetFields(BindingFlags.Public | BindingFlags.Instance) .OrderBy(x => x.FieldType.Name) .ThenBy(x => x.Name) let attrs = field.GetCustomAttributes(false) where attrs.OfType<SettingInstanceNameAttribute>().Any() select (string) field.GetValue(components[0])).FirstOrDefault(); fieldOptions.Add(settingsStoreInstanceName); } } dict[fieldOuter] = fieldOptions; } } var fields = dict.Keys.ToList(); var stack = new Stack<int>(); while (fields.Count != 0) { if (stack.Count < fields.Count) { stack.Push(0); } else if (stack.Count == fields.Count) { var indices = stack.ToArray().Reverse().ToArray(); var tempDict = new Dictionary<FieldInfo, string>(); for (var i = 0; i < indices.Length; i++) { tempDict.Add(fields[i], dict[fields[i]][indices[i]]); } yield return tempDict; stack.Push(stack.Pop() + 1); while (stack.Peek() >= dict[fields[stack.Count - 1]].Count) { stack.Pop(); if (stack.Count == 0) { yield break; } var old = stack.Peek(); stack.Pop(); stack.Push(old + 1); } } } }
public override void start(BaseBehaviour baseBehaviour) { base.start(baseBehaviour); PatrolNodes = baseBehaviour.getPathNodes (); m_NodeCount = PatrolNodes.Length; }
//YOU MUST CALL THIS START FOR INSIDE EVERY BEHAVIOUR THAT HAS A COMPONENT public abstract void start(BaseBehaviour baseBehaviour);