// protected virtual void InitActor() // { // int fleetID = 1000; // FleetL fleet = Globals.Instance.MPlayerManager.CreateFleet(fleetID); // // PlayerData actorData = Globals.Instance.MGameDataManager.MActorData; // GirlData wsData = actorData.GetActorFakeWarshipData(); // // GirlData fakeData = new GirlData(); // fakeData.WarShipID = 1000000; // // // Huoqu dangqian zhenxing zhong zuixiao suoyin weizhi chuan de logicID // if (null != wsData) // fakeData.BasicData.LogicID = wsData.BasicData.LogicID; // else // fakeData.BasicData.LogicID = 1217001000; // // fakeData.BasicData.IsNpc = false; // fakeData.BasicData.FillDataFromConfig(); // // // Use fleet name to display in copy // fakeData.BasicData.Name = actorData.BasicData.FleetName; // // fleet.CreateWarship(fakeData, delegate(WarshipL ws) // { // ws.U3DGameObject.name = fakeData.BasicData.Name; // ws.GameObjectTag = TagMaskDefine.GFAN_ACTOR; // ws.MoveSpeed = 100.0f; // ws.IsInCopy = true; // // // Move to birth position // ws.ForceMoveTo(MCurrentCopyData.MCopyBasicData.ActorBirthPosition); // ws.Show3DName(true); // // //add rigid body // Rigidbody rigidbody = ws.U3DGameObject.AddComponent<Rigidbody>() as Rigidbody; // if(rigidbody) // { // rigidbody.useGravity = false; // rigidbody.isKinematic = true; // } // // BoxCollider coll = ws.U3DGameObject.AddComponent<BoxCollider>() as BoxCollider; // if(coll) // { // coll.isTrigger = true; // coll.center = new Vector3(0,0,0); // coll.size = new Vector3(100,20,20); // } // }); // // // BattleTrigger trigger = ws.U3DGameObject.AddComponent<BattleTrigger>() as BattleTrigger; // // trigger.BoxSize = new Vector3(100,20,20); // // trigger.TriggerEnterEvents += this.OnRequestBattle; // // _mActorFleet = fleet; // } // // void ReplaceActorModel() // { // if (null == _mActorFleet) // return; // // PlayerData actorData = Globals.Instance.MGameDataManager.MActorData; // GirlData t_wsData = actorData.GetActorFakeWarshipData(); // if (null == t_wsData) // return; // // t_wsData.BasicData.Name = actorData.BasicData.FleetName; // // WarshipL tWarship = _mActorFleet._mWarshipList[0]; // Vector3 destPos = tWarship.U3DGameObject.transform.position; // Quaternion destQuat = tWarship.U3DGameObject.transform.rotation; // // tWarship.ReplaceMode(t_wsData.BasicData.ModelName, delegate(WarshipL ws) // { // ws.U3DGameObject.name = t_wsData.BasicData.Name; // ws.GameObjectTag = TagMaskDefine.GFAN_ACTOR; // ws.MoveSpeed = 100.0f; // ws.IsInCopy = true; // // ws.U3DGameObject.transform.position = destPos; // ws.U3DGameObject.transform.rotation = destQuat; // // ws.Show3DName(true); // // //add rigid body // Rigidbody rigidbody = ws.U3DGameObject.AddComponent<Rigidbody>() as Rigidbody; // if(rigidbody) // { // rigidbody.useGravity = false; // rigidbody.isKinematic = true; // } // // BoxCollider coll = ws.U3DGameObject.AddComponent<BoxCollider>() as BoxCollider; // if(coll) // { // coll.isTrigger = true; // coll.center = new Vector3(0,0,0); // coll.size = new Vector3(100,20,20); // } // }); // } protected virtual void InitMonsters() { foreach (CopyMonsterData.MonsterData monsterData in MCurrentCopyData.MCopyMonsterData.MMonsterDataList) { // Create Fleet MonsterFleet monsterFleet = Globals.Instance.MPlayerManager.CreateMonsterFleet(monsterData.FleetID); // Create Warship monsterFleet.CreateMonsterWarship(monsterData, delegate(WarshipL ws) { MonsterWarship monster = ws as MonsterWarship; monster.ForceMoveTo(monsterData.MonsterPosition); monster.U3DGameObject.name = monsterData.MonsterName; // monster._thisGameObject.layer = LayerMaskDefine.IGNORE_RAYCAST; // Register Active Event monster.AddTriggerCallback(this.OnRequestBattle); monster.StartPathPatrolAI(); // Add into MonsterFleetList _mMonsterFleetList.Add(monsterFleet); // Instantiate 3d arrow GameObject prefab = Globals.Instance.M3DItemManager.MonsterArrowTP; GameObject go = Globals.Instance.M3DItemManager.CreateEZ3DItem(prefab, Vector3.zero); go.name = "MonsterGuideArrow"; _mGuideArrowList.Add(monsterFleet, go); if (monster.VisibleTrigger) { monster.VisibleTrigger.ControlTarget = go; } }); } }
public void RemoveMonsterWarship(MonsterWarship monster) { if (monster == null) { return; } monster.Release(); _monsterWarshipList.Remove(monster); }
public MonsterWarship CreateMonsterWarship(CopyMonsterData.MonsterData data, WarshipL.CreateCallback callback) { MonsterWarship monster = new MonsterWarship(data); monster.Initialize(delegate(WarshipL ws) { _monsterWarshipList.Add(monster); if (null != callback) { callback(ws); } }); return(monster); }