Inheritance: MonoBehaviour
Example #1
0
 void Start()
 {
     m_bmgr = BattleManager.Get();
     m_pmgr = PlayerManager.Get();
     GameObject obj = GameObject.Find("MapCam");
     m_camera = obj.GetComponent<Camera>();
 }
Example #2
0
    public void PerformAOE(Vector3 target, BattleManager _bm)
    {
        float prevDmg = baseDamage;
        List<Entity> victims = new List<Entity>();

        Collider[] cols = Physics.OverlapSphere(target, 4.0f, _bm.interactMask);
        Entity selected = _bm.selectedTarget.GetComponent<Entity>();

        victims.Add(selected);
           // DealDamage(selected);
        //_bm.SpawnFloatText(baseDamage.ToString(), selected.transform.position);
        for (int i = 0; i < cols.Length; i++)
        {
            Entity mon = cols[i].GetComponent<Entity>();

            if(!victims.Contains(mon))
            {
                victims.Add(mon);
            }
        }

        for(int j = 0; j < victims.Count; j++)
        {

            DealDamage(victims[j]);

            _bm.SpawnFloatText(baseDamage.ToString(), victims[j].transform.position);

            float dmg = baseDamage * 0.5f;
            baseDamage =  (int)dmg;
        }

        mana -= 5.0f;
        baseDamage = prevDmg;
    }
Example #3
0
 protected override void Awake()
 {
     base.Awake();
     battleMgr = GameObject.FindObjectOfType<BattleManager>();
     coolTime = 40;
     message = "적 유닛의 이동을 막습니다.";
 }
Example #4
0
 public ReplayViewModel Get([FromUri]string[] ids)
 {
     var heads = new[]
     {
         new Directed {X = 1, Y = 13, Direction = Direction.East},
         new Directed {X = 25, Y = 13, Direction = Direction.West},
         new Directed {X = 13, Y = 1, Direction = Direction.North},
         new Directed {X = 13, Y = 25, Direction = Direction.South}
     };
     var n = 0;
     var unique = new HashSet<string>(ids);
     var fighters = unique
         .Select(id => snakeStore.GetById(id))
         .Where(s => s != null)
         .Take(4)
         .Select(snake => new Fighter(snake.Id, snake.Chips, heads[n++]))
         .ToList();
     var tickCount = Environment.TickCount;
     var replay = new Replay(tickCount) { BattleField = new BattleField() };
     if (fighters.Count > 0)
     {
         var battleField = new BattleField();
         var battleManager = new BattleManager(fighters, replay, new FieldComparer(battleField), battleField, tickCount);
         battleManager.Fight(550); //original 550    
     }
     var model = Mapper.Map<Replay, ReplayViewModel>(replay);
     return model;
 }
Example #5
0
    public BattleSwap(GameObject go)
    {
        battlemanagerGO = go;
        bm = battlemanagerGO.GetComponent<BattleManager>();

        // pool.InitPool("floatDmg", floattxtPrefab, 4, true);
    }
Example #6
0
 public Attack(Enemy emy)
 {
     stateID = StateID.E_ATTACK;
     enemy = emy;
     pmgr = PlayerManager.Get();
     bmgr = BattleManager.Get();
     hp = enemy.Hp;
 }
 public static BattleManager getInstance()
 {
     if ( _instance == null )
     {
         _instance = new BattleManager();
     }
     return _instance;
 }
 // Use this for initialization
 void Start()
 {
     animator = this.GetComponent<Animator>();
     battleManager = GameObject.Find ("BattleManager").GetComponent<BattleManager> ();
     scene = GameObject.Find ("SceneManager").GetComponent<SceneManagerScript> ();
     animator.SetBool ("MenuInUse", false);
     currentState = "NotInUse";
 }
Example #9
0
    private void Awake()
    {
        battleMgr = GameObject.FindObjectOfType<BattleManager>();
        parent = transform.parent.GetComponent<Movable>();

        damage = parent.GetAttackDamage();
        isMoveRight = parent.isOurForce ? true : false;
    }
Example #10
0
 public void CleanUp()
 {
     InputMan = null;
     ActiveCharacters.Clear();
     LevelMap = new Level();
     GUI = null;
     PlayerObject = null;
     BattleMan = new BattleManager();
 }
Example #11
0
    private void Awake()
    {
        battleMgr = FindObjectOfType<BattleManager>();

        blueMark = SpriteManager.instance.GetSprite(PackingType.UI, "MiniMap_blue");
        redMark = SpriteManager.instance.GetSprite(PackingType.UI, "MiniMap_red");

        markPrefab = Resources.Load<GameObject>("Prefabs/UI/Mark");
    }
Example #12
0
    public static BattleManager GetInstance()
    {
        if(instance == null)
        {
            instance = FindObjectOfType<BattleManager>();
        }

        return instance;
    }
Example #13
0
 // Use this for initialization
 void Start()
 {
     needsEffects = false;
     hasAttackedOnThisTurn = false;
     hasMovedOnThisTurn = false;
     theBattleManager = GameObject.FindGameObjectWithTag("GameController").GetComponent<BattleManager>();
     gridScript = GameObject.Find("Grid").GetComponent<Grid>();
     animator = GetComponent<Animator>();
 }
Example #14
0
 public void Init()
 {
     battleManager = GameObject.Find("BattleManager").GetComponent<BattleManager>();
     mapManager = GameObject.Find("BattleManager").GetComponent<MapManager>();
     cam = Camera.main.GetComponent<CameraController>();
     inputManager = GameObject.Find("InputManager").GetComponent<InputManager>();
     lineDrawer = GameObject.Find("LineRenderer").GetComponent<LineRenderer>();
     uiDockSizeX = Screen.width / 5 * 4;
     uiDockSizeY = Screen.height / 5;
 }
 void Awake()
 {
     if (Instance == null)
     {
         DontDestroyOnLoad(gameObject);
         Instance = this;
     }
     else if (Instance != this)
     {
         Destroy(gameObject);
     }
 }
Example #16
0
    // Use this for initialization
    void Start()
    {
        m_bmgr = BattleManager.Get();
        m_countdown = m_bmgr.m_specialCountDown; // Gets the seconds to count down

        m_disable = false;

        m_HUD = Service.Get<HUDService>().HUDControl.transform;
        m_sprites = Resources.LoadAll<Sprite>("Sprite/number");

        m_renderer = GetComponent<SpriteRenderer>();
        StartCoroutine(UpdateCount());
    }
Example #17
0
 public void Awake()
 {
     if (get == null)
     {
         get = this;
     }
     else
     {
         if (get != this)
         {
             Destroy(this);
         }
     }
 }
Example #18
0
    void Start()
    {
        foreach (Button button in this.GetComponentsInChildren<Button>())
        {
            button.sendEvent += ButtonEvent;
        }

        _battleManager = GameObject.Find("BattleManager").GetComponent<BattleManager>();
        for (int i = 0; i < _battleManager.allShips.Count; i++)
        {
            GameObject shipIcon = (GameObject)GameObject.Instantiate(shipIconPrefab);
            _shipIcons.Add(shipIcon);
        }
    }
Example #19
0
	// Use this for initialization
	void Start () {
        battleManager = FindObjectOfType<BattleManager>();

        fsm = new StateMachine<GameManager>(this);
        fsm.setState(new IntroState());
        battleManager.battleEndedEvent += OnBattleEnded;
        battleManager.playerDefeatedEvent += OnPlayerDefeated;

        timer = 3.0f;
        enemy = GameObject.FindGameObjectWithTag("Enemy");

        battleManager.StartBattle();

    }
Example #20
0
    // 이미지 위치찾기
    private void Awake()
    {
        battleMgr = GetComponent<BattleManager>();
        gameMgr = GetComponent<GameManager>();
        princessUI = GameObject.Find("PrincessEvent");
        skillName = princessUI.transform.FindChild("Event").FindChild("SkillName").GetComponent<Image>();
        illust = princessUI.transform.FindChild("Event").FindChild("BigIllust").GetComponent<Image>();
        portrait = GameObject.Find("Princess Image").GetComponent<Image>();
        portrait_gray = GameObject.Find("Princess Gray").GetComponent<Image>();
        castlesprRenderer = GameObject.Find("OutpostIcon").GetComponent<Image>();

        PlayerData.instance.CheckInstance();
        currChapter = PlayerData.instance.GetSelectedChapter();
        currChapterSkill = PrincessSkillBase.CreatePrincessSkill(currChapter);
    }
Example #21
0
    protected virtual void Awake()
    {
        if (GameObject.FindObjectOfType<GameManager>() == null) // InGame 에서 유닛이 사용중이지 않을 때
        {
            forDecoration = true;
            return;
        }
        battleMgr = GameObject.FindGameObjectWithTag("Manager").GetComponent<BattleManager>();

        if (this.CompareTag("OurForce"))
            isOurForce = true;
        else
            isOurForce = false;

        maxHP = hp;
    }
Example #22
0
 // Use this for initialization
 void Start()
 {
     theManager = GameObject.FindGameObjectWithTag("GameController").GetComponent<BattleManager>();
     quitMenu = quitMenu.GetComponent<Canvas>();
     startText = startText.GetComponent<Button>();
     exitText = exitText.GetComponent<Button>();
     restartText = restartText.GetComponent<Button>();
     instructionText = instructionText.GetComponent<Button>();
     uiCanvas = uiCanvas.GetComponent<Canvas>();
     instructionMenu = instructionMenu.GetComponent<Canvas>();
     quitMenu.enabled = false;
     winMenu.enabled = false;
     loseMenu.enabled = false;
     uiCanvas.enabled = true;
     instructionMenu.enabled = false;
     menu.SetActive(showing);
 }
Example #23
0
    //Awake is always called before any Start functions
    void Awake()
    {
        //Check if instance already exists
        if (instance == null) {
            //if not, set instance to this
            instance = this;
        } else if (instance != this) {   //If instance already exists and it's not this:
            //Then destroy this. This enforces our singleton pattern, meaning there can only ever be one instance of a GameManager.
            Destroy (gameObject);
        }

        //Sets this to not be destroyed when reloading scene
        DontDestroyOnLoad (gameObject);

        //Call the InitGame function to initialize the first level
        InitGame ();
    }
Example #24
0
    private void Awake()
    {
        orderMgr = FindObjectOfType<SpriteOrderLayerManager>();
        battleMgr = FindObjectOfType<BattleManager>();
        itemMgr = FindObjectOfType<ItemManager>();
        bgmMgr = FindObjectOfType<BgmManager>();
        isRun = true;
        pauseUI = FindObjectOfType<Pause>();
        isDefenceTurn = true;

        PlayerData.instance.CheckInstance();

        GameEventManager.instance.CheckInstance();

        StartCoroutine(SceneFader.Instance.FadeIn(0.6f));
        GameObject.FindObjectOfType<SceneFader>().transform.SetParent(Camera.main.transform, true);
    }
Example #25
0
 public ReplayViewModel Get()
 {
     var heads = new[]
     {
         new Directed {X = 1, Y = 13, Direction = Direction.East},
         new Directed {X = 25, Y = 13, Direction = Direction.West},
         new Directed {X = 13, Y = 1, Direction = Direction.North},
         new Directed {X = 13, Y = 25, Direction = Direction.South}
     };
     var fighters = heads.Select(h => new Fighter(Guid.NewGuid().ToString(), new Collection<IEnumerable<ChipCell>>(), h)).ToList();
     var tickCount = Environment.TickCount;
     var replay = new Replay(tickCount) { BattleField = new BattleField() };
     var battleField = new BattleField();
     var battleManager = new BattleManager(fighters, replay, new FieldComparer(battleField), battleField, tickCount);
     battleManager.Fight(550); //original 550
     var model = Mapper.Map<Replay, ReplayViewModel>(replay);
     return model;
 }
Example #26
0
		void DefSet(BattleManager manager, bool isPlayerFirst)
		{
			turnList = new IState<BattleStateName>[3];
			var playerTurn = new PlayerTurn(manager, this);
			var rivalTurn = new RivalTurn(manager, this);
			var endTurn = new EndTurn(manager, this);

			if (isPlayerFirst)
			{
				turnList[0] = playerTurn;
				turnList[1] = rivalTurn;
				turnList[2] = endTurn;
			}
			else
			{
				turnList[0] = rivalTurn;
				turnList[1] = playerTurn;
				turnList[2] = endTurn;
			}
		}
    // Use this for initialization
    void Start()
    {
        // Make Singleton Manager
        if (Manager == null)
        {
            DontDestroyOnLoad(gameObject);
            Manager = this;
        }
        else if (Manager != this)
        {
            Destroy(gameObject);
        }

        SpawnBattler(1 - 1, new BattlerPosition(-1, 0, 1), Battler.Alliance.PLAYER);
        SpawnBattler(1 - 1, new BattlerPosition( 1, 0, 1), Battler.Alliance.ENEMY);
        SpawnBattler(1 - 1, new BattlerPosition( 2, 0, 1), Battler.Alliance.ENEMY);

        //AllBattlers = GameObject.FindObjectsOfType<Battler>();

        //FindObjectOfType<PlayerController>().GetComponent<PlayerController>().inControl = AllBattlers[0];
    }
Example #28
0
	void Start ()
	{
		// find other classes
		battleManager = FindObjectOfType<BattleManager> ();
        // get components
		anim = GetComponent<Animator> ();
		myRigidbody2D = GetComponent<Rigidbody2D> ();

        // set vars
        moveVelocity = 0;           // starts with no applied move velocity
		canLookAway = false;        // starts each round watching

        // set object to correct elder watching number
        // starts each round watching
        if (iAmElder01)                         
            BattleManager.watching01 = true;
        else if (iAmElder02)
            BattleManager.watching02 = true;
        
        //cool down
        transitionTime = 2;         // first action of the round lasts 2 seconds
		readyToAct = true;          // can enter loop of actions
		useCoolDownClock = false;   // random action cooldown time not started
	}
Example #29
0
		private void UpdateEnemyFleetInstant(bool isPractice = false)
		{

			BattleManager bm = KCDatabase.Instance.Battle;
			BattleData bd = bm.FirstBattle;

			int[] enemies = bd.Initial.EnemyMembers;
			int[][] slots = bd.Initial.EnemySlots;
			int[] levels = bd.Initial.EnemyLevels;
			int[][] parameters = bd.Initial.EnemyParameters;
			int[] hps = bd.Initial.EnemyMaxHPs;


			_enemyFleetCandidate = null;
			_enemyFleetCandidateIndex = -1;



			if (!bm.IsPractice)
			{
				var efcurrent = EnemyFleetRecord.EnemyFleetElement.CreateFromCurrentState();
				var efrecord = RecordManager.Instance.EnemyFleet[efcurrent.FleetID];
				if (efrecord != null)
				{
					TextEnemyFleetName.Text = efrecord.FleetName;
					TextEventDetail.Text = "Exp: " + efrecord.ExpShip;
				}
				ToolTipInfo.SetToolTip(TextEventDetail, GeneralRes.EnemyFleetID + ": " + efcurrent.FleetID.ToString("x16"));
			}

			TextFormation.Text = Constants.GetFormationShort((int)bd.Searching.FormationEnemy);
			//TextFormation.ImageIndex = (int)ResourceManager.IconContent.BattleFormationEnemyLineAhead + bd.Searching.FormationEnemy - 1;
			TextFormation.Visible = true;
			{
				int air = Calculator.GetAirSuperiority(enemies, slots);
				TextAirSuperiority.Text = isPractice ?
					air.ToString() + " ~ " + Calculator.GetAirSuperiorityAtMaxLevel(enemies, slots).ToString() :
					air.ToString();
				ToolTipInfo.SetToolTip(TextAirSuperiority, GetAirSuperiorityString(isPractice ? 0 : air));
				TextAirSuperiority.Visible = true;
			}

			TableEnemyMember.SuspendLayout();
			for (int i = 0; i < ControlMembers.Length; i++)
			{
				int shipID = enemies[i];
				ControlMembers[i].Update(shipID, shipID != -1 ? slots[i] : null);

				if (shipID != -1)
					ControlMembers[i].UpdateEquipmentToolTip(shipID, slots[i], levels[i], hps[i], parameters[i][0], parameters[i][1], parameters[i][2], parameters[i][3]);
			}
			TableEnemyMember.ResumeLayout();
			TableEnemyMember.Visible = true;

			PanelEnemyFleet.Visible = true;

			PanelEnemyCandidate.Visible = false;

			BasePanel.Visible = true;           //checkme

		}
Example #30
0
    // Functions to be called by buttons:

    public void Attack_1()
    {
        //unit1.GetComponent<BaseUnit>().DashTo(unit2);
        BattleManager.currentTarget = unit2;
        BattleManager.AttackButtonPressed();
    }
Example #31
0
        // REFACTOR_TODO: Is this necessary?
        // New move button press starts coroutine
        //public void NewMoveButton(bool isLearn)
        //{
        //    StartCoroutine(NewMoveButtonCoroutine(isLearn));
        //}


        // User clicks Learn New Move or Don't Learn
        public void NewMoveButtonPress(bool isLearn, System.Action OnFinish)
        {
            // REFACTOR_TODO: Make references
            Text          cancelText = NewMoveUI.transform.GetChild(5).GetChild(0).GetComponent <Text>();
            Text          learnText  = NewMoveUI.transform.GetChild(4).GetChild(0).GetComponent <Text>();
            DeltemonClass delt       = State.PlayerState.DeltInBattle;

            // Presses the cancel button
            if (!isLearn)
            {
                // Player affirms not learning new move
                if (cancelText.text == "Sure?")
                {
                    BattleManager.AddToBattleQueue(string.Format("{0} didn't learn the move {1}!", delt.nickname, delt.moveset[4].moveName));

                    // Remove tmp 5th new move
                    delt.moveset.RemoveAt(4);
                    NewMoveUI.SetActive(false);
                    UIManager.Inst.PosseUI.CloseMoveOverviews();
                    OnFinish();
                }
                // Cancel button must be pressed again to confirm
                else
                {
                    cancelText.text = "Sure?";
                    learnText.text  = "Switch" + System.Environment.NewLine + "Moves";
                }
            }
            // Presses learn new move button without selecting an old move first
            else if (!UIManager.Inst.PosseUI.MoveTwoOverview.gameObject.activeInHierarchy)
            {
                BattleManager.AddToBattleQueue("You must select a move to switch out first!");
            }
            // User tries to forget a move
            else
            {
                // Player affirms learning new move
                if (learnText.text == "Sure?")
                {
                    // Save index of move being forgotten
                    int forgetMoveIndex = UIManager.Inst.secondMoveLoaded;

                    // Set move overviews and new move ui to inactive
                    NewMoveUI.SetActive(false);
                    UIManager.Inst.PosseUI.CloseMoveOverviews();

                    BattleManager.AddToBattleQueue(string.Format("{0} forgot the move {1}!", delt.nickname, delt.moveset[forgetMoveIndex].moveName));

                    // Instantiate and learn new move
                    MoveClass newMove = Instantiate(delt.moveset[4], delt.transform);
                    delt.moveset[forgetMoveIndex] = newMove;

                    // Remove 5th move
                    delt.moveset.RemoveAt(4);

                    BattleManager.AddToBattleQueue(string.Format("{0} learned the move {1}!", delt.nickname, newMove.moveName));

                    OnFinish();
                }
                // Cancel button must be pressed again to confirm
                else
                {
                    learnText.text  = "Sure?";
                    cancelText.text = "Don't" + System.Environment.NewLine + "Learn";
                }
            }
        }
Example #32
0
    void Start()
    {
        currtime = 0.0f;
        trailList = new List<GameObject>();
        currentGesturePoints = new List<Point>();
        IsTouchInProgress = IsTrailQueuedForDestroy = IsMouseMovementStarted = IsStartTrailSpawned = false;

        Save = GestureSave;
        Load = GestureLoad;

        m_battleMgr = BattleManager.Get();
        m_playerMgr = PlayerManager.Get();
    }
Example #33
0
    public void DisplayNextSentence()
    {
        //// TODO: End fight after all enemies defeated.
        //bool foundEnabled = false;
        //foreach (GameObject enemies in battleManager.enemies)
        //{
        //    if (enemies.activeSelf)
        //    {
        //        foundEnabled = true;
        //    }
        //}

        //if (!foundEnabled && sentences.Count <= actionOrder[0].Count + passiveOrder[0].Count)
        //{
        //    EndDialogue();
        //}
        //Debug.Log("-----");
        //Debug.Log("sentences" + sentences.Count);
        //Debug.Log("bonus" + bonusSentences.Count);
        //Debug.Log("actionparams" + actionOrder.Count);
        //Debug.Log("passiveorder" + passiveOrder.Count);
        //Debug.Log("-----");


        if (sentences.Count > 0 && bonusSentences.Count <= 0)
        {
            if (!coroutineRunning)
            {
                string sentence = null;



                //if (sentences.Count == 0)
                //{
                //    EndDialogue();
                //    return;
                //}


                //if (images.Peek() != null)
                //{
                //    image.sprite = images.Dequeue();
                //}
                //else
                //{
                //    images.Dequeue();
                //}
                currentLine = 0;

                currentChar = 0;

                lineOffset = 0;
                //string sentence = sentences.Dequeue();



                if (actionOrder.Count > 0)
                {
                    //List<List<Object>> objectsList = actionOrder[0];

                    //foreach (List<Object> objects in objectsList)
                    //{
                    //GameObject casterObj = (GameObject)objects[0];
                    //if (casterObj.activeSelf)
                    //{

                    GameObject casterObj = (GameObject)actionOrder[0][0][0];
                    if (casterObj.activeSelf)
                    {
                        sentence = sentences[0];
                    }
                    //}
                    //else
                    //{
                    //    actionOrder.RemoveAt(0);
                    //    passiveOrder.RemoveAt(0);
                    //}
                    //}
                }
                else
                {
                    if (sentences.Count > 0)
                    {
                        sentence = sentences[0];
                    }
                }

                sentences.RemoveAt(0);



                bool foundActiveEnemy = false;
                foreach (GameObject checkEnemy in BattleManager.GetInstance().enemies)
                {
                    if (checkEnemy.activeSelf)
                    {
                        foundActiveEnemy = true;
                    }
                }
                if (foundActiveEnemy)
                {
                    //Debug.Log(sentence);
                    StopAllCoroutines();
                    StartCoroutine(TypeSentence(sentence));
                }
                else
                {
                    //MessageMe("&&&Y&&&O&&&U&&& &&&W&&&I&&&N&&&!&&&!&&&!&&&");
                    StopAllCoroutines();
                    StartCoroutine(TypeSentence("&&&Y&&&O&&&U&&& &&&W&&&I&&&N&&&!&&&!&&&!&&&&&&&@"));
                }
            }
            else
            {
                dialogueText.text = "<mspace=1em>" + currentSentence;
                StopAllCoroutines();
                coroutineRunning = false;
            }
        }
        else if (bonusSentences.Count > 0)
        {
            //Debug.Log("BA" + bonusSentences.Count);
            string sentence = bonusSentences[0];
            bonusSentences.RemoveAt(0);
            StopAllCoroutines();
            StartCoroutine(TypeSentence(sentence));
        }
        else
        {
            foreach (GameObject player in battleManager.players)
            {
                if (player.activeSelf)
                {
                    player.GetComponent <CharacterStats>().TurnOver();
                }
            }

            foreach (GameObject enemy in battleManager.enemies)
            {
                if (enemy.activeSelf)
                {
                    enemy.GetComponent <CharacterStats>().TurnOver();
                }
            }

            if (bonusSentences.Count > 0)
            {
                //Debug.Log("BA" + bonusSentences.Count);
                string sentence = bonusSentences[0];
                bonusSentences.RemoveAt(0);
                StopAllCoroutines();
                StartCoroutine(TypeSentence(sentence));
            }
            else
            {
                bool foundActiveEnemy = false;
                foreach (GameObject checkEnemy in BattleManager.GetInstance().enemies)
                {
                    if (checkEnemy.activeSelf)
                    {
                        foundActiveEnemy = true;
                    }
                }


                if (!foundActiveEnemy)
                {
                    //MessageMe("&&&Y&&&O&&&U&&& &&&W&&&I&&&N&&&!&&&!&&&!&&&");
                    StopAllCoroutines();
                    StartCoroutine(TypeSentence("&&&Y&&&O&&&U&&& &&&W&&&I&&&N&&&!&&&!&&&!&&&&&&&@"));
                }
                else
                {
                    EndDialogue();
                }
            }
        }
    }
Example #34
0
    public void CreateBattleHUD()
    {
        // Create Hp Bars
        HPBars = new UIGauge[2];
        GameObject obj = NGUITools.AddChild(m_Top, Resources.Load("Prefabs/Battle/EnemyHpBar") as GameObject);
        obj.transform.localPosition = new Vector3(28.5f, -55.2f, 0);
        obj.transform.localScale = new Vector3(0.25f,0.25f,1f);
        HPBars[(int)GAUGE.ENEMY] = obj.GetComponent<UIGauge>();

        obj =  NGUITools.AddChild(m_bottomLeft, Resources.Load("Prefabs/Battle/PlayerHPBar") as GameObject);
        obj.transform.localPosition = new Vector3(423f, 127f, 0);
        obj.transform.localScale = new Vector3(0.8f,0.8f,1f);
        HPBars[(int)GAUGE.PLAYER] = obj.GetComponent<UIGauge>();

        if(m_bottomLeft != null)
            m_bottomLeft.SetActive(true);

        // Initialize Managers
        bmgr = BattleManager.Get();
        pmgr = PlayerManager.Get();

        // Initialize Buttons
        if(m_specialBtn != null)
        {
            m_specialBtn.isEnabled = false;
            m_specialBtn.GetComponent<UIButtonMessage>().target = bmgr.gameObject;
            m_specialBtn.GetComponent<UIButtonMessage>().functionName = "OnFinishPressed";
        }

        if(m_dodgeBtn != null)
        {
            m_dodgeBtn.GetComponent<UIButtonMessage>().target = pmgr.gameObject;
            m_dodgeBtn.GetComponent<UIButtonMessage>().functionName = "Dodge";
        }

        if(m_criticalBtn != null)
        {
            m_criticalBtn.GetComponent<UIButtonMessage>().target = pmgr.gameObject;
            m_criticalBtn.GetComponent<UIButtonMessage>().functionName = "CriticalDamage";
        }

        // Initialize Battle End Timer
        m_QuestTImer =  Instantiate( Resources.Load("Prefabs/Battle/QuestTimer")) as GameObject;
        m_QuestTImer.transform.SetParent(m_Top.transform, false);

        // Initialize lvl bar
        if(m_lvlbar != null)
            m_lvlbar.SetActive(false);

        //		if(m_pauseBtn != null)
        //			m_pauseBtn.SetActive(true);
    }
Example #35
0
        public NavalBase(GameProvider listener, ITimingService timingService, NotificationManager notification, IStatePersist statePersist, IQuestKnowledges questKnowledges)
        {
            Notification         = notification;
            StatePersist         = statePersist;
            this.questKnowledges = questKnowledges;

            MasterData      = new MasterDataRoot(listener);
            Battle          = new BattleManager(listener, this);
            Quests          = new QuestManager(listener, questKnowledges, statePersist);
            _allEquipment   = new IdTable <EquipmentId, HomeportEquipment, RawEquipment, NavalBase>(this);
            _buildingDocks  = new IdTable <BuildingDockId, BuildingDock, RawBuildingDock, NavalBase>(this);
            _repairingDocks = new IdTable <RepairingDockId, RepairingDock, RawRepairingDock, NavalBase>(this);
            _useItems       = new IdTable <UseItemId, UseItemCount, RawUseItemCount, NavalBase>(this);
            _allShips       = new IdTable <ShipId, HomeportShip, RawShip, NavalBase>(this);
            _fleets         = new IdTable <FleetId, HomeportFleet, RawFleet, NavalBase>(this);
            _maps           = new IdTable <MapId, Map, RawMap, NavalBase>(this);
            _airForce       = new IdTable <(MapAreaId MapArea, AirForceGroupId GroupId), AirForceGroup, RawAirForceGroup, NavalBase>(this);

            listener.AllEquipmentUpdated += (t, msg) => _allEquipment.BatchUpdate(msg, t);
            listener.BuildingDockUpdated += (t, msg) => _buildingDocks.BatchUpdate(msg, t);
            listener.UseItemUpdated      += (t, msg) => _useItems.BatchUpdate(msg, t);

            listener.AdmiralUpdated += (t, msg) =>
            {
                if (Admiral?.Id != msg.Id)
                {
                    var @new = new Admiral(msg, this, t);
                    AdmiralChanging?.Invoke(t, Admiral, @new);
                    Admiral = @new;
                    NotifyPropertyChanged(nameof(Admiral));
                    StatePersist?.Initialize(msg.Id);
                    this.questKnowledges.Load();
                }
                else
                {
                    Admiral.Update(msg, t);
                }
            };
            listener.MaterialsUpdated += (t, msg) =>
            {
                var oldMaterials = Materials;
                var materials    = oldMaterials;
                msg.Apply(ref materials);
                if (Materials != materials)
                {
                    Materials = materials;
                    MaterialsUpdating?.Invoke(t, oldMaterials, materials, msg.Reason);
                }
            };
            listener.HomeportReturned += (t, msg) =>
            {
                _allShips.BatchUpdate(msg.Ships, t);
                CombinedFleet = msg.CombinedFleetType;
                if (StatePersist != null)
                {
                    StatePersist.LastHomeportUpdate = t;
                    StatePersist.SaveChanges();
                }
                HomeportUpdated?.Invoke(t, this);
            };
            listener.CompositionChanged += (t, msg) =>
            {
                var fleet = Fleets[msg.FleetId];
                if (msg.ShipId is ShipId shipId)
                {
                    var ship = AllShips[shipId];
                    fleet.ChangeComposition(msg.Index, ship);
                }
                else
                {
                    fleet.ChangeComposition(msg.Index, null);
                }
            };
            listener.FleetsUpdated        += (t, msg) => _fleets.BatchUpdate(msg, t);
            listener.FleetPresetSelected  += (t, msg) => Fleets[msg.Id].Update(msg, t);
            listener.ShipExtraSlotOpened  += (t, msg) => AllShips[msg].OpenExtraSlot();
            listener.PartialFleetsUpdated += (t, msg) => _fleets.BatchUpdate(msg, t, removal: false);
            listener.PartialShipsUpdated  += (t, msg) => _allShips.BatchUpdate(msg, t, removal: false);
            listener.RepairingDockUpdated += (t, msg) => _repairingDocks.BatchUpdate(msg, t);
            listener.ShipSupplied         += (t, msg) =>
            {
                foreach (var raw in msg)
                {
                    var ship = AllShips[raw.ShipId];
                    ShipSupplying?.Invoke(t, ship, raw);
                    ship?.Supply(raw);
                }
                questKnowledges.OnSingletonEvent(SingletonEvent.ShipSupply);
            };

            listener.RepairStarted += (t, msg) =>
            {
                var ship = AllShips[msg.ShipId];
                if (ship == null)
                {
                    return;
                }

                ShipRepairing?.Invoke(t, ship, msg.InstantRepair);
                if (msg.InstantRepair)
                {
                    ship.SetRepaired();
                }

                var oldMaterials = Materials;
                var materials    = oldMaterials;
                materials.Fuel  -= ship.RepairingCost.Fuel;
                materials.Steel -= ship.RepairingCost.Steel;
                Materials        = materials;
                MaterialsUpdating?.Invoke(t, oldMaterials, materials, MaterialsChangeReason.ShipRepair);
                questKnowledges.OnSingletonEvent(SingletonEvent.ShipRepair);
            };
            listener.InstantRepaired += (t, msg) =>
            {
                var dock = RepairingDocks[msg];
                RepairingDockInstant?.Invoke(t, msg, dock.RepairingShip);
                dock.Instant();
            };
            listener.InstantBuilt += (t, msg) =>
            {
                var dock = BuildingDocks[msg];
                dock.Instant();

                var oldMaterials = Materials;
                var materials    = oldMaterials;
                materials.InstantBuild -= dock.IsLSC ? 10 : 1;
                Materials = materials;
                MaterialsUpdating?.Invoke(t, oldMaterials, materials, MaterialsChangeReason.InstantBuilt);
                questKnowledges.OnSingletonEvent(SingletonEvent.ShipRepair);
            };
            listener.ShipCreated += (t, msg)
                                    => questKnowledges.OnSingletonEvent(SingletonEvent.ShipConstruct);
            listener.ShipBuildCompleted += (t, msg) =>
            {
                _allEquipment.BatchUpdate(msg.Equipments, t, removal: false);
                _allShips.Add(msg.Ship, t);
            };
            listener.EquipmentCreated += (t, msg) =>
            {
                foreach (var e in msg.Equipment)
                {
                    if (e is object)
                    {
                        _allEquipment.Add(e, t);
                    }
                    questKnowledges.OnSingletonEvent(SingletonEvent.EquipmentCreate);
                }
            };
            listener.ShipDismantled += (t, msg) =>
            {
                var removed = RemoveShips(msg.ShipIds, msg.DismantleEquipments);
                questKnowledges.OnShipDismantle(removed);
                ShipDismantling?.Invoke(t, removed, msg.DismantleEquipments);
            };
            listener.EquipmentDismantled += (t, msg) =>
            {
                var removed = RemoveEquipment(msg);
                questKnowledges.OnEquipmentDismantle(removed);
                EquipmentDismantling?.Invoke(t, removed);
            };
            listener.EquipmentImproved += (t, msg) =>
            {
                var consumed = msg.ConsumedEquipmentIds != null?RemoveEquipment(msg.ConsumedEquipmentIds) : null;

                var original = AllEquipment[msg.EquipmentId];
                EquipmentImproving?.Invoke(t, original, msg.UpdatedTo, consumed, msg.IsSuccess);
                if (msg.IsSuccess)
                {
                    original.Update(msg.UpdatedTo, t);
                }
                questKnowledges?.OnSingletonEvent(SingletonEvent.EquipmentImprove);
            };
            listener.ShipPoweruped += (t, msg) =>
            {
                var consumed = RemoveShips(msg.ConsumedShipIds, true);
                var original = AllShips[msg.ShipId];
                questKnowledges.OnShipPowerup(original, consumed, msg.IsSuccess);
                ShipPoweruping?.Invoke(t, original, msg.UpdatedTo, consumed);
                original.Update(msg.UpdatedTo, t);
            };
            listener.ExpeditionCompleted += (t, msg) =>
            {
                var fleet = Fleets[msg.FleetId];
                questKnowledges?.OnExpeditionComplete(fleet, fleet.Expedition, msg.Result);
            };

            listener.MapsUpdated       += (t, msg) => _maps.BatchUpdate(msg, t);
            listener.AirForceUpdated   += (t, msg) => _airForce.BatchUpdate(msg, t);
            listener.AirForcePlaneSet  += (t, msg) => AirForce[(msg.MapAreaId, msg.GroupId)].SetPlane(t, msg);
Example #36
0
 public string GetSaveString(AreaManager areaManager, FollowerManager followerManager, NPCManager npcManager, BuildingManager buildingManager, BattleManager battleManager)
 {
     return(GetSaveStringEncrypted(areaManager, followerManager, npcManager, buildingManager, battleManager, true));
 }
        public static BattlePhase NextPhase(BattlePhase iPhase)
        {
            BattleManager battleManager = BattleTaskManager.GetBattleManager();

            if (battleManager == null)
            {
                return(BattlePhase.BattlePhase_BEF);
            }
            BattlePhase result = BattlePhase.BattlePhase_BEF;

            switch (iPhase)
            {
            case BattlePhase.BattlePhase_ST:
                result = BattlePhase.FleetAdvent;
                break;

            case BattlePhase.FleetAdvent:
                if (battleManager is SortieBattleManager || battleManager is RebellionBattleManager)
                {
                    BattleManager battleManager2 = BattleTaskManager.GetBattleManager();
                    if (BattleUtils.GetStarBattleFleetAdventNextPhase(battleManager2.WarType) == BattlePhase.NightCombat)
                    {
                        result = BattlePhase.NightCombat;
                        break;
                    }
                }
                if (battleManager.IsExistSakutekiData())
                {
                    result = BattlePhase.Detection;
                }
                else if (battleManager.IsExistCommandPhase())
                {
                    result = BattlePhase.Command;
                }
                else if (battleManager.IsExistKoukuuData())
                {
                    result = BattlePhase.AerialCombat;
                }
                else if (battleManager.IsExistShienData())
                {
                    result = BattlePhase.SupportingFire;
                }
                else if (battleManager.IsExistKaimakuData())
                {
                    result = BattlePhase.OpeningTorpedoSalvo;
                }
                else if (battleManager.IsExistHougekiPhase_Day())
                {
                    result = BattlePhase.Shelling;
                }
                else if (battleManager.IsExistRaigekiData())
                {
                    result = BattlePhase.TorpedoSalvo;
                }
                else
                {
                    result = BattlePhase.WithdrawalDecision;
                }
                break;

            case BattlePhase.Detection:
                if (battleManager.IsExistCommandPhase())
                {
                    result = BattlePhase.Command;
                }
                else if (battleManager.IsExistKoukuuData())
                {
                    result = BattlePhase.AerialCombat;
                }
                else if (battleManager.IsExistShienData())
                {
                    result = BattlePhase.SupportingFire;
                }
                else if (battleManager.IsExistKaimakuData())
                {
                    result = BattlePhase.OpeningTorpedoSalvo;
                }
                else if (battleManager.IsExistHougekiPhase_Day())
                {
                    result = BattlePhase.Shelling;
                }
                else if (battleManager.IsExistRaigekiData())
                {
                    result = BattlePhase.TorpedoSalvo;
                }
                else
                {
                    result = BattlePhase.WithdrawalDecision;
                }
                break;

            case BattlePhase.Command:
                if (battleManager.IsExistKoukuuData())
                {
                    result = BattlePhase.AerialCombat;
                }
                else if (battleManager.IsExistShienData())
                {
                    result = BattlePhase.SupportingFire;
                }
                else if (battleManager.IsExistKaimakuData())
                {
                    result = BattlePhase.OpeningTorpedoSalvo;
                }
                else if (battleManager.IsExistHougekiPhase_Day())
                {
                    result = BattlePhase.Shelling;
                }
                else if (battleManager.IsExistRaigekiData())
                {
                    result = BattlePhase.TorpedoSalvo;
                }
                else
                {
                    result = BattlePhase.WithdrawalDecision;
                }
                break;

            case BattlePhase.AerialCombat:
                if (battleManager.IsExistShienData())
                {
                    result = BattlePhase.SupportingFire;
                }
                else if (battleManager.IsExistKaimakuData())
                {
                    result = BattlePhase.OpeningTorpedoSalvo;
                }
                else if (battleManager.IsExistHougekiPhase_Day())
                {
                    result = BattlePhase.Shelling;
                }
                else if (battleManager.IsExistRaigekiData())
                {
                    result = BattlePhase.TorpedoSalvo;
                }
                else
                {
                    result = BattlePhase.WithdrawalDecision;
                }
                break;

            case BattlePhase.AerialCombatSecond:
                if (battleManager.IsExistShienData())
                {
                    result = BattlePhase.SupportingFire;
                }
                else if (battleManager.IsExistKaimakuData())
                {
                    result = BattlePhase.OpeningTorpedoSalvo;
                }
                else if (battleManager.IsExistHougekiPhase_Day())
                {
                    result = BattlePhase.Shelling;
                }
                else if (battleManager.IsExistRaigekiData())
                {
                    result = BattlePhase.TorpedoSalvo;
                }
                else
                {
                    result = BattlePhase.WithdrawalDecision;
                }
                break;

            case BattlePhase.SupportingFire:
                if (battleManager.IsExistKaimakuData())
                {
                    result = BattlePhase.OpeningTorpedoSalvo;
                }
                else if (battleManager.IsExistHougekiPhase_Day())
                {
                    result = BattlePhase.Shelling;
                }
                else if (battleManager.IsExistRaigekiData())
                {
                    result = BattlePhase.TorpedoSalvo;
                }
                else
                {
                    result = BattlePhase.WithdrawalDecision;
                }
                break;

            case BattlePhase.OpeningTorpedoSalvo:
                if (battleManager.IsExistHougekiPhase_Day())
                {
                    result = BattlePhase.Shelling;
                }
                else if (battleManager.IsExistRaigekiData())
                {
                    result = BattlePhase.TorpedoSalvo;
                }
                else
                {
                    result = BattlePhase.WithdrawalDecision;
                }
                break;

            case BattlePhase.Shelling:
                if (battleManager.IsExistRaigekiData())
                {
                    result = BattlePhase.TorpedoSalvo;
                }
                else
                {
                    result = BattlePhase.WithdrawalDecision;
                }
                break;

            case BattlePhase.TorpedoSalvo:
                result = BattlePhase.WithdrawalDecision;
                break;

            case BattlePhase.WithdrawalDecision:
                if (battleManager.HasNightBattle())
                {
                    result = BattlePhase.NightCombat;
                }
                else
                {
                    result = BattlePhase.Result;
                }
                break;

            case BattlePhase.NightCombat:
                result = BattlePhase.Result;
                break;

            case BattlePhase.Result:
                result = BattlePhase.ClearReward;
                break;

            case BattlePhase.FlagshipWreck:
                result = BattlePhase.MapOpen;
                break;

            case BattlePhase.EscortShipEvacuation:
                result = BattlePhase.AdvancingWithdrawal;
                break;

            case BattlePhase.ClearReward:
                if (battleManager.GetEscapeCandidate() != null)
                {
                }
                result = BattlePhase.MapOpen;
                break;
            }
            return(result);
        }
Example #38
0
 private void Start()
 {
     instance = this;
     playerController.BattleStarted();
     StartRound();
 }
Example #39
0
 //////////////////
 public void OnClick()
 {
     BattleManager.StartMission(m_MissionData);
 }
Example #40
0
    // ショット衝突判定

    /*void OnTriggerEnter(Collider collider) {
     *      // Animatorがdead(死亡)だったら判定しない(何もしない)
     *      if (animator.GetBool ("dead") == true) {
     *              return;
     *      }
     *      // Shotタグが付いているオブジェクトに当たったら
     *      if (collider.gameObject.tag == "Shot") {
     *              // 相手を硬直させる(下記DamageSet参照)
     *              DamageSet = true;
     *              // ライフバー表示(下記参照)
     *              StartCoroutine ("LifeBarCoroutine");
     *              // Bullet01スクリプトのdamageを受け取る
     *              damage = collider.gameObject.GetComponent<Bullet01> ().damage;
     *              // 当たり判定用のHit01ObjectをHit01Prefabにし生成
     *              Hit01Object = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity);
     *              // ダメージコルーチン(下記参照)
     *              StartCoroutine ("DamageCoroutine");
     *              // Shot接触時敵Animatorを"damaged"へ移行
     *              // アニメーションした後元に戻すのならSetTriggerの方が単純で良い
     *              animator.SetTrigger ("damaged");
     *              // 敵アーマーポイントからBullet01スクリプトのdamage値を差し引く
     *              armorPoint -= damage;
     *              //ライフバーからもダメージ分ゲージを減らす
     *              LifeBar.GetComponent<LifeBar> ().UpdateArmorPointValue ();
     *              //DamageSet = false;
     *      } else if (collider.gameObject.tag == "Shot2") {
     *              DamageSet = true;
     *              StartCoroutine ("LifeBarCoroutine");
     *              damage = collider.gameObject.GetComponent<Bullet02> ().damage;
     *              Hit02Object = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity);
     *              StartCoroutine ("DamageCoroutine");
     *              animator.SetTrigger ("damaged");
     *              armorPoint -= damage;
     *              LifeBar.GetComponent<LifeBar> ().UpdateArmorPointValue ();
     *      } else if (collider.gameObject.tag == "Shot3") {
     *              //Debug.Log (collider.gameObject.name);
     *              //DamageSet = true;
     *              FreezeSet = true;
     *              StartCoroutine ("LifeBarCoroutine");
     *              damage = collider.gameObject.GetComponent<Bullet03> ().damage;
     *              Hit03Object = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity);
     *              StartCoroutine ("DamageCoroutine");
     *              animator.SetTrigger ("damaged");
     *              armorPoint -= damage;
     *              LifeBar.GetComponent<LifeBar> ().UpdateArmorPointValue ();
     *      } else if (collider.gameObject.tag == "Shot5") {
     *              DamageSet = true;
     *              StartCoroutine ("LifeBarCoroutine");
     *              damage = collider.gameObject.GetComponent<Bullet05> ().damage;
     *              Hit05Object = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity);
     *              StartCoroutine ("DamageCoroutine");
     *              animator.SetTrigger ("damaged");
     *              armorPoint -= damage;
     *              LifeBar.GetComponent<LifeBar> ().UpdateArmorPointValue ();
     *      }
     *
     *      //プレイヤーのいずれかの弾に当たって体力が0以下になったら消滅する
     *      if (collider.gameObject.tag == "Shot" || collider.gameObject.tag == "Shot2" || collider.gameObject.tag == "Shot3"
     || collider.gameObject.tag == "Shot5") {
     ||             if (armorPoint <= 0) {
     ||                     //Debug.Log ("敵"+gameObject.name);
     ||                     // Animatorを"dead"へ移行
     ||                     // 移行後元に戻さないならBool判定にした方がよい
     ||                     animator.SetBool ("dead", true);
     ||                     // 死亡アニメーション中に敵が移動しないようにスピードをゼロにする
     ||                     EnemySpeed = 0;
     ||                     // 敵消滅用エフェクト発生
     ||                     // 敵消滅中にプレイヤに接触ダメージがを与えないようにDeadCoroutine(下記参照)で接触判定を無くす
     ||                     DeadObject = Instantiate (Hit01Prefab, EffectPoint.position, Quaternion.identity);
     ||                     StartCoroutine ("DeadCoroutine");
     ||                     Instantiate (DestroyEffect, transform.position, transform.rotation);
     ||                     // バトルマネージャーにスコア(EnemyScoreで設定)を加算する
     ||                     battleManager = GameObject.Find ("BattleManager").GetComponent<BattleManager> ();
     ||                     DataManager.Score += EnemyScore;
     ||                     // プレイヤのレベルアップ判定(PlayerLevel参照)
     ||                     // レベルに関係している数値はDataManagedrで管理している
     ||                     playerLevel.LevelUp ();
     ||                     // DestroyTime時間後敵消滅
     ||                     Destroy (gameObject, DestroyTime);
     ||                     // ボス、ラスボス消滅後は必ずクリア用スターを出現させる
     ||                     // インスペクタ画面でIsBoss、IsLastBossに✔を付ける
     ||                     if (isBoss == true) {
     ||                             Instantiate (Star, transform.position, transform.rotation);
     ||                     }
     ||                     if (isLastBoss == true) {
     ||                             Instantiate (BigStar, transform.position, transform.rotation);
     ||                     // ボス、ラスボス以外が消滅後は一定確率(0,RedEncountでRedEncount分の1)でアイテム出現
     ||                     } else if (Random.Range (0, RedEncount) == 0) {
     ||                             Instantiate (RedSphere, transform.position, transform.rotation);
     ||                             //Vector3 Pog = this.gameObject.transform.position;
     ||                             //Instantiate (RedSphere, transform.position += new Vector3(0 , SphereHeight, 0), transform.rotation);
     ||                     } else if (Random.Range (0, BlueEncount) == 0) {
     ||                             Instantiate (BlueSphere, transform.position, transform.rotation);
     ||                             //Vector3 Pog = this.gameObject.transform.position;
     ||                             //Instantiate (RedSphere, transform.position += new Vector3(0 , SphereHeight, 0), transform.rotation);
     ||                     } else if (Random.Range (0, GreenEncount) == 0) {
     ||                             Instantiate (GreenSphere, transform.position, transform.rotation);
     ||                             //Vector3 Pog = this.gameObject.transform.position;
     ||                             //Instantiate (RedSphere, transform.position += new Vector3(0 , SphereHeight, 0), transform.rotation);
     ||                     } else if (Random.Range (0, YellowEncount) == 0) {
     ||                             Instantiate (YellowSphere, transform.position, transform.rotation);
     ||                             //Vector3 Pog = this.gameObject.transform.position;
     ||                             //Instantiate (RedSphere, transform.position += new Vector3(0 , SphereHeight, 0), transform.rotation);
     ||                     }
     ||             }
     ||     }
     ||}*/

    //巨大化したプレイヤに接触したらダメージ
    void OnCollisionEnter(Collision collider)
    {
        //PlayerApのisBig(巨大化)状態をisbigとする
        bool isbig = GameObject.FindWithTag("Player").GetComponent <PlayerAp> ().isBig;

        //プレイヤのタグがついていてisbig状態(巨大化中)なら
        if (collider.gameObject.tag == "Player" && isbig == true)
        {
            //Debug.Log ("一撃");
            //armorPointからプレイヤのbigAttack値を差し引く
            bigAttack   = GameObject.FindWithTag("Player").GetComponent <PlayerAp> ().BigAttack;
            armorPoint -= bigAttack;
            //それ以外(巨大化してない)ならDamageSet状態にする
        }
        else if (collider.gameObject.tag == "Player")
        {
            DamageSet = true;
            animator.SetTrigger("damaged");
        }
        //ライフバーからダメージ分ゲージを減らす
        LifeBar.GetComponent <LifeBar>().UpdateArmorPointValue();

        //
        if (collider.gameObject.tag == "Player")
        {
            //体力が0以下になったら消滅する
            if (armorPoint <= 0)
            {
                //Debug.Log ("敵"+gameObject.name);
                // Animatorを"dead"へ移行
                // 移行後元に戻さないならBool判定にした方がよい
                animator.SetBool("dead", true);
                // 死亡アニメーション中に敵が移動しないようにスピードをゼロにする
                EnemySpeed = 0;
                // 敵消滅用エフェクト発生
                // 敵消滅中にプレイヤに接触ダメージがを与えないようにDeadCoroutineで接触判定を無くす
                DeadObject = Instantiate(Hit01Prefab, EffectPoint.position, Quaternion.identity);
                StartCoroutine("DeadCoroutine");
                Instantiate(DestroyEffect, transform.position, transform.rotation);
                // バトルマネージャーにスコア(EnemyScoreで設定)を加算する
                battleManager = GameObject.Find("BattleManager").GetComponent <BattleManager> ();
                // プレイヤのレベルアップ判定(PlayerLevel参照)
                // レベルに関係している数値はDataManagedrで管理している
                DataManager.Score += EnemyScore;
                playerLevel.LevelUp();
                // 敵消滅
                Destroy(gameObject, DestroyTime);
                //Instantiate(exprosion, transform.position, transform.rotation);
                // ボス、ラスボス消滅後は必ずクリア用スターを出現させる
                // インスペクタ画面でIsBoss、IsLastBossに✔を付ける
                if (isBoss == true)
                {
                    Instantiate(Star, transform.position, transform.rotation);
                }
                if (isLastBoss == true)
                {
                    Instantiate(BigStar, transform.position, transform.rotation);
                    // ボス、ラスボス以外が消滅後は一定確率(0,RedEncountでRedEncount分の1)でアイテム出現
                }
                else if (Random.Range(0, RedEncount) == 0)
                {
                    Instantiate(RedSphere, transform.position, transform.rotation);
                }
                else if (Random.Range(0, BlueEncount) == 0)
                {
                    Instantiate(BlueSphere, transform.position, transform.rotation);
                }
                else if (Random.Range(0, GreenEncount) == 0)
                {
                    Instantiate(GreenSphere, transform.position, transform.rotation);
                }
                else if (Random.Range(0, YellowEncount) == 0)
                {
                    Instantiate(YellowSphere, transform.position, transform.rotation);
                }
            }
        }
    }
Example #41
0
 protected void Awake()
 {
     _battleManager = GameObject.Find("Root").GetComponent <BattleManager>();
 }
Example #42
0
 public virtual void SetUpObstacle(BattleManager battleManager)
 {
     this.battleManager = battleManager;
 }
Example #43
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     sprite.sprite = wreck;
     StartCoroutine(BattleManager.GetInstance().GameOver());
 }
 private void Start()
 {
     bm = FindObjectOfType <BattleManager>();
 }
Example #45
0
 private void Awake()
 {
     instance = this;
 }
Example #46
0
 private void Awake()
 {
     instance = this;
     DontDestroyOnLoad(gameObject);
 }
Example #47
0
    public string GetSaveStringEncrypted(AreaManager areaManager, FollowerManager followerManager, NPCManager npcManager, BuildingManager buildingManager, BattleManager battleManager, bool encrypt)
    {
        int    pos  = 0;
        string data = "";

        try
        {
            //Bank 0
            data += "" + GetPlayerBank().GetInventory().ToString();
            pos++;
            //Skills 1
            data += "#" + GetPlayer().GetSkillString();
            pos++;
            //Inventory 2
            data += "#" + GetPlayerInventory().ToStringSorted();
            pos++;
            //Areas 3
            data += "#" + areaManager.SaveAreas();
            pos++;
            //Followers 4
            data += "#" + followerManager.ToString();
            pos++;
            //HP 5
            data += "#" + GetPlayer().CurrentHP.ToString();
            pos++;
            //ActiveFollower 6
            if (GetPlayer().activeFollower != null)
            {
                data += "#" + GetPlayer().activeFollower.id;
            }
            else
            {
                data += "#";
            }
            pos++;
            //Recipes 7
            data += "#";

            /*foreach (string s in GetPlayer().GetRecipes())
             * {
             *  data += s + "/";
             * }*/
            pos++;
            //EquippedItems 8
            data += "#";
            foreach (KeyValuePair <GameItem, int> pair in GetPlayerInventory().GetEquippedItems())
            {
                data += pair.Key.Id + "/";
            }
            pos++;
            //Settings 9
            data += "#";
            data += isSplitView.ToString();
            data += ",";
            data += compactBankView.ToString();
            data += ",";
            data += expensiveItemThreshold;
            data += ",";
            data += totalKills;
            data += ",";
            data += PetShopUnlocked.ToString();
            data += ",";
            data += autoBuySushiSupplies.ToString();
            data += ",";
            data += totalCoinsEarned;
            data += ",";
            data += totalDeaths;
            pos++;
            //NPC data 10
            data += "#";
            data += npcManager.GetNPCData();
            pos++;
            //Sushi House Data 11
            data += "#";
            data += sushiHouseRice + "," + sushiHouseSeaweed;
            pos++;
            //Tannery Data 12
            data += "#";
            foreach (Building b in buildingManager.GetBuildings())
            {
                if (b.Salt > 0)
                {
                    data += "" + b.ID + "," + b.Salt + "/";
                }
            }
            pos++;
            //Tannery Slot Data 13
            data += "#";
            foreach (Building b in buildingManager.GetBuildings())
            {
                if (b.IsTannery)
                {
                    data += b.ID + ">";
                    foreach (TanningSlot slot in b.TanneryItems)
                    {
                        data += slot.GetString() + "_";
                    }
                    data += "@";
                }
            }
            pos++;
            //GameState.isHunting 14
            data += "#";
            data += isHunting.ToString() + ",";
            data += huntingAreaID + ",";
            data += huntingStartTime.ToString() + ",";
            data += huntingEndTime.ToString();
            pos++;
            //Bank Tabs 15
            data += "#";
            data += GetPlayerBank().GetTabsString();
            pos++;
            //Pets 16
            data += "#";
            data += GetPlayer().GetPetString();
            pos++;
            //KC 17
            data += "#";
            data += GetKCString();
            pos++;
            //Dojos 18
            data += "#";
            data += battleManager.GetDojoSaveData();
            if (encrypt)
            {
                data = Encryptor.EncryptToString(data);
            }
            pos++;
        }
        catch
        {
            data = "Failed to generate save file. Please contact the developer to let him know he messed up. (Error line:" + pos + ")";
        }
        return(data);
    }
Example #48
0
        private void CheckBattle()
        {
            BattleManager bm = KCDatabase.Instance.Battle;

            if (bm.Compass.IsEndPoint && !NotifiesAtEndpoint)
            {
                return;
            }


            List <string> list = new List <string>();

            switch (bm.BattleMode & BattleManager.BattleModes.BattlePhaseMask)
            {
            case BattleManager.BattleModes.Normal:
            case BattleManager.BattleModes.AirBattle:
            case BattleManager.BattleModes.AirRaid:
            default:
                if (bm.BattleNight != null)
                {
                    list.AddRange(GetDamagedShips(bm.BattleNight.Initial.FriendFleet, bm.BattleNight.ResultHPs.ToArray()));
                }
                else
                {
                    list.AddRange(GetDamagedShips(bm.BattleDay.Initial.FriendFleet, bm.BattleDay.ResultHPs.ToArray()));
                }
                break;

            case BattleManager.BattleModes.NightDay:
            case BattleManager.BattleModes.NightOnly:
                if (bm.BattleDay != null)
                {
                    list.AddRange(GetDamagedShips(bm.BattleDay.Initial.FriendFleet, bm.BattleDay.ResultHPs.ToArray()));
                }
                else
                {
                    list.AddRange(GetDamagedShips(bm.BattleNight.Initial.FriendFleet, bm.BattleNight.ResultHPs.ToArray()));
                }
                break;
            }

            if ((bm.BattleMode & BattleManager.BattleModes.CombinedMask) != 0)
            {
                switch (bm.BattleMode & BattleManager.BattleModes.BattlePhaseMask)
                {
                case BattleManager.BattleModes.Normal:
                case BattleManager.BattleModes.AirBattle:
                case BattleManager.BattleModes.AirRaid:
                default:
                    if (bm.BattleNight != null)
                    {
                        list.AddRange(GetDamagedShips(KCDatabase.Instance.Fleet[2], bm.BattleNight.ResultHPs.Skip(12).ToArray()));
                    }
                    else
                    {
                        list.AddRange(GetDamagedShips(KCDatabase.Instance.Fleet[2], bm.BattleDay.ResultHPs.Skip(12).ToArray()));
                    }
                    break;

                case BattleManager.BattleModes.NightDay:
                case BattleManager.BattleModes.NightOnly:
                    if (bm.BattleDay != null)
                    {
                        list.AddRange(GetDamagedShips(KCDatabase.Instance.Fleet[2], bm.BattleDay.ResultHPs.Skip(12).ToArray()));
                    }
                    else
                    {
                        list.AddRange(GetDamagedShips(KCDatabase.Instance.Fleet[2], bm.BattleNight.ResultHPs.Skip(12).ToArray()));
                    }
                    break;
                }
            }


            if (list.Count > 0)
            {
                Notify(list.ToArray());
            }
        }